Video: Razlika Između Nasljeđivanja I Sastava
2024 Autor: Mildred Bawerman | [email protected]. Zadnja promjena: 2023-12-16 08:39
Nasljeđivanje vs Kompozicija
Nasljeđivanje i sastav dva su važna pojma pronađena u OOP-u (objektno orijentirano programiranje). Jednostavno rečeno, i kompozicija i nasljeđivanje bave se pružanjem dodatnih svojstava ili ponašanja klasi. Nasljeđivanje je sposobnost klase da nasljeđuje svojstva i ponašanje od roditeljske klase proširujući je. S druge strane, Composition je sposobnost klase da sadrži podatke različitih klasa kao podatke člana.
Što je nasljeđivanje?
Kao što je gore spomenuto, nasljeđivanje je sposobnost klase da nasljeđuje svojstva i ponašanje od roditeljske klase njenim proširivanjem. Nasljeđivanje u osnovi pruža ponovnu upotrebu koda dopuštajući proširivanje svojstava i ponašanja postojeće klase novo definiranom klasom. Ako se klasa A proširuje na B, tada se klasa B naziva roditeljska klasa (ili super klasa), a klasa A naziva se podređena (ili izvedena klasa / podrazred). U ovom primjeru scenarij, klasa A naslijedit će sve javne i zaštićene atribute i metode super klase (B). Podrazred može po želji nadjačati (pružiti novu ili proširenu funkcionalnost metodama) ponašanje naslijeđeno od roditeljske klase.
Nasljeđivanje predstavlja odnos "je-a" u OOP-u. To u osnovi znači da je A također i B. Drugim riječima, B može biti klasa s općim opisom određenog entiteta iz stvarnog svijeta, ali A određuje određenu specijalizaciju. U stvarnom programskom problemu, klasa Person može se proširiti tako da stvori klasu Employee. To se naziva specijalizacija. Ali također možete prvo stvoriti klasu Employee, a zatim je generalizirati i na klasu Person (tj. Generalizaciju). U ovom primjeru, zaposlenik će imati sva svojstva i ponašanje osobe (tj. Zaposlenik je također osoba) i može sadržavati neke dodatne funkcije (dakle, osoba nije zaposlenik).
Što je sastav?
Sastav je sposobnost klase da sadrži podatke različitih klasa kao podatke člana. Na primjer, klasa A može sadržavati objekt klase B kao člana. Ovdje se sve javne metode (ili funkcije) definirane u B mogu izvršiti unutar klase A. Klasa A postaje spremnik, dok klasa B postaje sadržana klasa. Sastav se naziva i kontejnerom. U ovom se primjeru može reći da je klasa A sastavljena od klase B. U OOP-u Kompozicija predstavlja odnos "ima-a". Važno je napomenuti da, iako spremnik ima pristup za izvršavanje svih javnih metoda sadržane klase, nije u mogućnosti promijeniti ili pružiti dodatnu funkcionalnost. Kada je riječ o stvarnom programskom problemu, objekt klase TextBox može biti sadržan u klasi Form,pa se stoga može reći da obrazac sadrži TextBox (ili je obrazac sastavljen od TextBox-a).
Koja je razlika između nasljeđivanja i sastava?
Iako su nasljeđivanje i sastav dva OOP koncepta, oni se poprilično razlikuju u onome što omogućavaju programeru da postigne. Nasljeđivanje je sposobnost klase da nasljeđuje svojstva i ponašanje roditeljske klase proširujući je, dok je Kompozicija sposobnost klase da sadrži podatke različitih klasa kao podatke člana. Ako se klasa proširi, nasljeđuje sva javna i zaštićena svojstva / ponašanje i ta ponašanja može nadjačati potklasa. Ali ako je klasa sadržana u drugoj, spremnik nema mogućnost promjene ili dodavanja ponašanja u sadržanoj. Nasljeđivanje predstavlja odnos "je-a" u OOP-u, dok Kompozicija predstavlja odnos "ima-a".
Preporučeno:
Razlika Između Sastava I Reakcijske Stehiometrije
Ključna razlika između sastava i reakcijske stehiometrije je u tome što se stehiometrija sastava odnosi na atomski sastav kemijskog spoja, pri čemu
Razlika Između Teorije Miješanja I Mendelove Teorije Nasljeđivanja
Ključna razlika između teorije miješanja i teorije nasljeđivanja Mendela je u tome što teorija miješanja predlaže da miješanje roditeljskih znakova daje t
Razlika Između Nasljeđivanja Citoplazme I Nuklearnog Nasljeđa
Ključna razlika između nasljeđivanja citoplazme i nasljeđa nuklearke je u tome što se nasljeđivanje citoplazme odvija iz gena prisutnih u citoplazmi ili
Razlika Između Agregacije I Sastava
Ključna razlika - agregiranje i kompozicijsko objektno orijentirano programiranje (OOP) uobičajena je paradigma u razvoju softvera. Objekt je instanca
Razlika Između Agregiranja I Sastava U Javi
Ključna razlika - agregacija vs kompozicija u Javi Agregacija je povezanost između dva objekta koja opisuje odnos "ima-a". Sastav