Triedy vs štruktúry
Niektoré z hlavných konceptov objektovo orientovaných programovacích jazykov (OO) sú zapuzdrenie, dedičnosť a polymorfizmus. Trieda a štruktúra sú dva z OO konštrukcií / nástrojov, ktoré programátorom pomáhajú dosiahnuť tieto koncepty vo väčšine existujúcich programovacích jazykov OO (Java neposkytuje štruktúry). Triedy sú abstraktným zobrazením objektov reálneho sveta. Štruktúry sú veľmi podobné triedam s podobným využitím, v porovnaní s triedami však majú niekoľko obmedzení. Na zoskupenie podobných typov údajov sa používajú obidve triedy a štruktúra.
Čo sú triedy?
Triedy zobrazujú abstraktné znázornenie objektov reálneho sveta, zatiaľ čo vzťahy znázorňujú, ako je každá trieda prepojená s ostatnými. Triedy aj vzťahy majú vlastnosti nazývané atribúty. Metódy v triedach reprezentujú alebo definujú správanie týchto tried. Metódy a atribúty tried sa nazývajú členovia triedy. Zvyčajne sa zapuzdrenie dosahuje tak, že sa atribúty nastavia ako súkromné, zatiaľ čo sa vytvárajú verejné metódy, ktoré sa dajú použiť na prístup k týmto atribútom. Objekt je inštanciou triedy. Dedenie umožňuje používateľovi rozšíriť triedy (nazývané podtriedy) z iných tried (nazývaných super triedy). Polymorfizmus umožňuje programátorovi nahradiť objekt triedy namiesto objektu jeho super triedy. Podstatné mená nájdené v definícii problému sa zvyčajne stávajú priamo triedami v programe. A podobneslovesá sa stávajú metódami. Verejné, súkromné a chránené sú typické modifikátory prístupu používané pre triedy. Diagram tried zobrazuje triedy systémov, vzťahy medzi triedami a ich atribúty.
Čo sú to štruktúry?
Ako už bolo spomenuté vyššie, štruktúry sú veľmi podobné triedam s podobným využitím, sú však mierne obmedzenými schopnosťami ako triedy. Triedy možno v skutočnosti považovať za rozšírenie štruktúr. Napríklad štruktúry sú rovnaké ako triedy v C ++, predvolene však majú verejných členov. Užívateľ môže definovať štruktúru, ktorá predstavuje typ, ktorý je zložený. Podobne ako triedy, aj štruktúry obsahujú členov, ktoré môžu patriť k mnohým typom. Kľúčové slovo Structure sa používa na definovanie štruktúry v jazykoch C a C ++, zatiaľ čo kľúčové slovo Structure sa používa rovnako v programovacích jazykoch. NET.
Aký je rozdiel medzi triedami a štruktúrami?
Aj keď sú obidve triedy aj štruktúry podobné konštrukty nájdené v programovacích jazykoch, majú jemné rozdiely. Trieda je zvyčajne rozšírením štruktúry, a preto majú štruktúry určité relatívne obmedzenia. Napríklad, štruktúry je možné považovať za rovnaké ako triedy v C ++, ale členovia nie sú štandardne v triedach verejní (na rozdiel od štruktúr). To v skutočnosti znamená, že môžete definovať triedu a štruktúru s presne rovnakými charakteristikami pomocou vhodných modifikátorov prístupu v C ++. Avšak v C nemôžu štruktúry obsahovať žiadne funkcie alebo preťažené operácie. Kľúčové slová trieda a štruktúra sa používajú na definovanie triedy a štruktúry v C ++. Pokiaľ ide o jazyky. NET (C #, VB. NET atď.), Trieda je referenčným typom, zatiaľ čo štruktúra je typom hodnoty. A zvyčajneštruktúry sa používajú pre menšie objekty, ale triedy sa používajú pre väčšie objekty, ktoré sa uchovávajú v pamäti dlhšie.