पाठ 19 / 38
इनहेरिटेंस
extends व super से कोड पुनः उपयोग करें, देखें हर क्लास Object से आती है, Java एकल क्लास इनहेरिटेंस क्यों देती है, और कम्पोज़िशन कब बेहतर है।
extends और super
सबक्लास एक ही सुपरक्लास को extends करती है। super(...) पैरेंट कंस्ट्रक्टर बुलाता है। Java में एकल क्लास इनहेरिटेंस है।
class Animal {
Animal(String name) { /* ... */ }
String sound() { return "..."; }
}
class Dog extends Animal {
Dog() { super("dog"); }
@Override String sound() { return "woof"; }
}कम्पोज़िशन को प्राथमिकता
गहरे इनहेरिटेंस ट्री नाज़ुक होते हैं। अक्सर "has-a" (फ़ील्ड के रूप में ऑब्जेक्ट रखना) अधिक लचीला है।