Kuo skiriasi kompozicija ir paveldėjimas?
Kuo skiriasi kompozicija ir paveldėjimas?

Video: Kuo skiriasi kompozicija ir paveldėjimas?

Video: Kuo skiriasi kompozicija ir paveldėjimas?
Video: Composition vs Inheritance Pro Tips 2024, Balandis
Anonim

Nors abu Paveldėjimas ir Kompozicija suteikia kodo pakartotinio naudojimo, pagrindinis skirtumas tarp Kompozicijos ir Paveldėjimas Java yra tai Sudėtis leidžia pakartotinis naudojimas kodą jo nepratęsdami, bet paveldėjimo atveju turite išplėsti į klasė bet kokiam pakartotiniam naudojimui apie kodas arba funkcija.

Vėliau taip pat galima paklausti, kuris iš jų yra geresnis paveldėjimas ar sudėtis?

1) Vienas palankumo priežastis Sudėtis baigta Paveldėjimas Java yra faktas, kad Java nepalaiko kelių paveldėjimo . 2) Sudėtis pasiūlymai geriau testo gebėjimas klasės nei Paveldėjimas . Jeigu vienas klasę sudaro kita klasė, testavimo tikslais galite lengvai sukurti „Mock Object“, reprezentuojantį sudarytą klasę.

Be to, kas yra kompozicija objektiniame programavime? Sudėtis yra viena iš pagrindinių sąvokų objektas - orientuotas programavimas . Tai apibūdina klasę, kuri nurodo vieną ar daugiau objektų kitų klasių egzempliorių kintamieji. Tai leidžia modeliuoti ryšį tarp objektų . Realiame pasaulyje tokius santykius galite rasti gana reguliariai.

Turint tai omenyje, ką reiškia kompozicija, o ne paveldėjimas?

Sudėtis per paveldėjimą (arba sudėtinio pakartotinio naudojimo principas) objektiniame programavime (OOP) yra principas, kad klasės turi pasiekti polimorfinį elgesį ir pakartotinį kodo naudojimą kompozicija (turėdami kitų klasių egzempliorius, įgyvendinančius norimą funkciją), o ne paveldėjimo iš bazės

Ar sujungimas yra paveldėjimas?

Paveldėjimas : išplėsti klasės funkcionalumą sukuriant poklasį. Nepaisykite aukščiausios klasės narių poklasiuose, kad suteiktumėte naujų funkcijų. Sujungimas : sukurkite naujas funkcijas perimdami kitas klases ir sujungdami jas į naują klasę.

Rekomenduojamas: