Razlika Med Razredi In Strukturami

Razlika Med Razredi In Strukturami
Razlika Med Razredi In Strukturami

Video: Razlika Med Razredi In Strukturami

Video: Razlika Med Razredi In Strukturami
Video: Razlika med Nalogo in Podatkovno zbirko v Moodlu, vrednotenje in povratna informacija. 2024, Maj
Anonim

Razredi vs strukture

Nekateri glavni koncepti objektno usmerjenega (OO) programskega jezika so kapsulacija, dedovanje in polimorfizem. Razred in struktura sta dva od OO konstruktov / orodij, ki programerjem pomagata doseči te koncepte v večini obstoječih programskih jezikov OO (Java ne ponuja struktur). Predavanja so abstraktna predstavitev predmetov iz resničnega sveta. Strukture so zelo podobne razredom s podobno uporabo, vendar imajo malo omejitev v primerjavi z razredi. Tako razredi kot struktura se uporabljajo za združevanje podobnih podatkov.

Kaj so razredi?

Razredi prikazujejo abstraktno predstavitev predmetov iz resničnega sveta, odnosi pa upodabljajo, kako je vsak razred povezan z drugimi. Tako razredi kot odnosi imajo lastnosti, imenovane atributi. Metode v razredih predstavljajo ali opredeljujejo vedenje teh razredov. Metode in atributi razredov se imenujejo člani razreda. Običajno se inkapsulacija doseže tako, da atributi postanejo zasebni, hkrati pa se ustvarijo javne metode, ki jih je mogoče uporabiti za dostop do teh atributov. Predmet je primerek razreda. Dedovanje uporabniku omogoča razširitev razredov (imenovanih podrazredi) iz drugih razredov (imenovanih super razredi). Polimorfizem omogoča programerju, da namesto predmeta svojega super razreda nadomesti predmet razreda. Običajno samostalniki, ki jih najdemo v definiciji problema, neposredno postanejo razredi v programu. In podobno,glagoli postanejo metode. Javni, zasebni in zaščiteni so tipični modifikatorji dostopa, ki se uporabljajo za razrede. Diagram razredov prikazuje razrede sistemov, razmerja med razredi in njihove atribute.

Kaj so strukture?

Kot smo že omenili, so strukture zelo podobne razredom s podobno uporabo, vendar imajo nekoliko omejene zmogljivosti kot razredi. Dejansko lahko razrede obravnavamo kot razširitev struktur. Na primer, strukture so enake razredom v jeziku C ++, vendar imajo privzeto javne člane. Uporabnik lahko definira strukturo, ki predstavlja vrsto, ki je sestavljena. Podobno kot razredi tudi strukture vsebujejo člane, ki lahko pripadajo številnim vrstam. Ključna beseda struct se uporablja za definiranje strukture v C in C ++, medtem ko se ključna beseda Structure za isto uporablja v. NET programskih jezikih.

Kakšna je razlika med razredi in strukturami?

Čeprav so razredi in strukture podobni konstrukti, ki jih najdemo v programskih jezikih, imajo subtilne razlike. Običajno je razred podaljšek strukture, zato imajo strukture nekatere relativne omejitve. Na primer, strukture lahko štejemo za enake kot razrede v jeziku C ++, vendar člani v razredih privzeto niso javni (za razliko od struktur). To dejansko pomeni, da lahko z uporabo ustreznih modifikatorjev dostopa v jeziku C ++ določite razred in strukturo s popolnoma enakimi lastnostmi. Vendar v C strukture ne morejo vsebovati nobenih funkcij ali preobremenjenih operacij. Ključne besede class in struct se uporabljajo za definiranje razreda oziroma strukture v C ++. Ko gre za jezike. NET (C #, VB. NET itd.), Je razred referenčna vrsta, struktura pa vrsta vrednosti. In ponavadistrukture se uporabljajo za manjše predmete, razredi pa za večje predmete, ki so dlje časa v pomnilniku.

Priporočena: