Sažetak Klasa vs klasa betona
Većina popularnih modernih objektno orijentiranih programskih jezika poput Java i C # temelji se na klasama. Oni postižu objektno orijentirane koncepte kao što su kapsulacija, nasljeđivanje i polimorfizam pomoću klasa. Časovi su apstraktni prikaz objekata iz stvarnog svijeta. Razredi mogu biti konkretni ili apstraktni, ovisno o razini provedbe njihovih metoda. Betonska klasa u potpunosti provodi sve svoje metode. Sažetak klase može se smatrati ograničenom verzijom regularne (konkretne) klase, gdje može sadržavati djelomično implementirane metode. Obično se klase betona nazivaju (samo) klasa.
Što je klasa betona?
Zadana klasa je konkretna klasa. Ključna riječ klase koristi se za definiranje klasa (npr. U Javi). I obično se jednostavno nazivaju klasama (bez pridjeva konkretni). Konkretne klase prikazuju konceptualni prikaz objekata u stvarnom svijetu. Klase imaju svojstva koja se nazivaju atributima. Atributi se implementiraju u obliku globalnih i instanci. 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.
Što je apstraktna klasa?
Apstraktne klase deklarirane su pomoću ključne riječi Abstract (npr. U Javi,). Obično se apstraktne klase, poznate i kao apstraktne osnovne klase (ABC), ne mogu instancirati (instanca te klase se ne može stvoriti). Dakle, apstraktne klase imaju smisla imati samo ako programski jezik podržava nasljeđivanje (sposobnost stvaranja potklasa iz proširenja klase). Sažetak nastave obično predstavlja apstraktni koncept ili cjelinu s djelomičnom ili nikakvom provedbom. Prema tome, Sažeci klase djeluju kao nadređeni razredi iz kojih se izvode razrede djece tako da će dječja klasa dijeliti nepotpune značajke roditeljske klase, a može se dodati funkcionalnost da ih dovrši.
Sažeci mogu sadržavati apstraktne metode. Podklase koje proširuju apstraktnu klasu mogu implementirati ove (naslijeđene) Sažetak metode. Ako dječja klasa provodi sve takve apstraktne metode, ona postaje konkretna klasa. Ali ako to ne uspije, dječji razred postaje i apstraktni razred. Sve to znači da, kada programer nominira klasu kao Sažetak, ona kaže da će klasa biti nepotpuna i da će imati elemente koje treba ispuniti nasljeđujućim podrazredima. Ovo je lijep način za sklapanje ugovora između dva programera, što pojednostavljuje zadatke u razvoju softvera. Programer, koji piše kôd da naslijedi, mora točno slijediti definicije metoda (ali naravno može imati i svoju implementaciju).
Koja je razlika između klase apstrakcije i klase betona?
Sažetak nastave obično ima djelomičnu ili nikakvu provedbu. S druge strane, konkretne klase uvijek u potpunosti provode njegovo ponašanje. Za razliku od konkretnih razreda, apstraktne nastave ne mogu biti postojane. Stoga se apstraktne nastave moraju proširiti kako bi bile korisne. Sažetak predavanja može sadržavati apstraktne metode, ali konkretne nastave ne mogu. Kad se apstraktna klasa proširi, sve se metode (i apstraktne i konkretne) nasljeđuju. Naslijeđena klasa može implementirati bilo koju ili sve metode. Ako se ne primijene sve apstraktne metode, tada ta klasa također postaje apstraktna klasa.