Klase prema strukturama
Neki od glavnih pojmova objektno orijentiranih (OO) programskih jezika su enkapsulacija, nasljeđivanje i polimorfizam. Razred i struktura su dva OO konstrukta / alata koji pomažu programerima da postignu te koncepte unutar većine postojećih OO programskih jezika (Java ne nudi strukture). Časovi su apstraktni prikaz objekata iz stvarnog svijeta. Strukture su vrlo slične razredima sa sličnom uporabom, ali imaju nekoliko ograničenja u odnosu na klase. Obje klase i struktura koriste se za zajedničko grupiranje sličnih vrsta podataka.
Što su klase?
Klase prikazuju apstraktni prikaz predmeta iz stvarnog svijeta, dok odnosi prikazuju kako je svaka klasa povezana s drugima. I klase i odnosi imaju svojstva koja se nazivaju atributima. Metode u klasama predstavljaju ili definiraju ponašanje tih klasa. Metode i atributi nastave nazivaju se članovima klase. Obično se enkapsulacija postiže privatnošću atributa, stvarajući javne metode koje se mogu koristiti za pristup tim atributima. Objekt je instanca klase. Nasljeđivanje omogućava korisniku da proširi klase (koje se nazivaju potklase) iz drugih klasa (koje se nazivaju super klase). Polimorfizam omogućava programeru da zamijeni predmet klase umjesto objekta njegove super klase. Imenice koje se nalaze u definiciji problema izravno postaju klase u programu. I slično glagoli postaju metode. Javni, privatni i zaštićeni tipični su modifikatori pristupa koji se koriste za nastavu. Dijagram klasa prikazuje klase sustava, odnose između klasa i njihove atribute.
Što su strukture?
Kao što je gore spomenuto, strukture su vrlo slične razredima sa sličnom uporabom, ali imaju malo ograničene mogućnosti od klasa. U stvari, klasa se može smatrati nastavkom struktura. Na primjer, strukture su iste kao i klase u C ++, ali imaju zadane javne članove. Korisnik može definirati strukturu koja predstavlja tip koji je sastavljen. Slično kao i klase, strukture sadrže članove koji mogu pripadati mnogim tipovima. Struktura ključnih riječi koristi se za definiranje strukture u C i C ++, dok se struktura ključnih riječi koristi za istu u .NET programskim jezicima.
Koja je razlika između klasa i struktura?
Iako su i klase i strukture slični konstrukti koji se nalaze u programskim jezicima, imaju suptilne razlike. Klasično je klasa proširenje strukture i stoga strukture imaju određena relativna ograničenja. Na primjer, strukture se mogu smatrati istim kao klase u C ++, ali članovi nisu zadano javni u razredima (za razliku od struktura). To zapravo znači da možete definirati klasu i strukturu s potpuno istim karakteristikama koristeći odgovarajuće modifikatore pristupa u C ++. Međutim, u sustavu C strukture ne mogu sadržavati nikakve funkcije ili preopterećene operacije. Ključne riječi klasa i struktura koriste se za definiranje klase i strukture u C ++. Kada je riječ o .NET jezicima (C #, VB.NET itd.), Klasa je referentni tip, dok je struktura vrsta vrijednosti. I obično se strukture koriste za manje objekte, ali klase se koriste za veće predmete koji se duže pamte.