iku hubungan — dimodelake kanthi (sawijining ). iku hubungan — dimodelake kanthi (sawijining ). Milih ingkang tenggak iku putusan modeling inti.
iku hubungan — dimodelake kanthi (sawijining ). iku hubungan — dimodelake kanthi (sawijining ). Milih ingkang tenggak iku putusan modeling inti.
CarVehicleCarEngine// IS-A → inheritance
class Vehicle { void move() {} }
class Car extends Vehicle { } // a Car IS A Vehicle
// HAS-A → composition
class Engine { void start() {} }
class Car2 {
private Engine engine = new Engine(); // a Car HAS AN Engine
void start() { engine.start(); } // delegate to the part
}
Panjaluk: "Apa X jenis saka Y, utawa X duwe/nggunakake Y?"
A Dog IS-A Animal → inheritance ✅
A Car HAS-A Engine → composition ✅
A Square IS-A Shape → inheritance ✅
A Manager HAS Employees → composition (a list) ✅
A Stack HAS-A list (not IS-A) → composition (see earlier pitfall) ✅
Wonten tiyang sing nyedhak inheritance kanggo ngulang-ulang kode, sanajan hubungane pancen has-a. Yen punika ora bakal ngganti subclass kanggo basis ing endi-endi, asale ora is-a — gunakakake composition.
Pedafaran iki iku panjaluk keputusan praktis ana mburine "favor composition over inheritance": pilih hubungan ingkang leres, dudu ingkang nyiksa saweneh baris.
Nggawe ing tenggak ndhudhuk hierarki cekak lan jujur, lan njegog pelanggaran Liskov dene "subtype" ora bisa manggon kanggo indukan.
Pustaka pitakon wawancara IT kanthi jawaban rinci — saka Junior nganti Senior.
Nyumbang