In diesem Artikel wird erläutert, wie Javas Erbe eine "IS-A" -Be Beziehung zwischen Superklassen und Unterklassen hat, sodass Unterklassen die Funktionalität der Superklassen erben und anpassen können. Durch die Verwendung von Polymorphismus können Unterklassen eindeutige Verhaltensweisen definieren und die Wiederverwendung und Flexibilität von Code in der objektorientierten Programmierung ermöglichen.
In Java ist die Beziehung zwischen Superklassen (übergeordnete Klasse) und Unterklassen (untergeordnete Klasse oder abgeleitete Klasse) in der Vererbung eine IS-A-Beziehung, die impliziert, dass die Unterklasse eine spezielle Version der Superklasse ist, die die Funktionalität erbt (Restriktionen können können angewendet werden) einer Klasse, aus der sie abgeleitet ist (CSU Global, N.D.). Mit anderen Worten, wenn die Klasse B von Klasse A erbt, dann ermöglicht die Klasse B der Klasse B „IS A“ -Typ A. Mit dieser Beziehung kann die von Klasse A bereitgestellte Funktionen alle Funktionen verwenden (Einschränkungen können angewendet werden) und addieren gleichzeitig eigene eigene Spezifische Funktionen oder/und durch Überschreiben einiger oder aller Funktionen der Klasse A. Die Fähigkeit der untergeordneten Klasse, Funktionalität zu überschreiben, ist eine Form des Polymorphismus.
„Die Wörterbuchdefinition des Polymorphismus bezieht sich auf ein Prinzip in der Biologie, in dem ein Organismus oder eine Art viele verschiedene Formen oder Stadien haben kann. Dieses Prinzip kann auch auf objektorientierte Programmierung und Sprachen wie die Java-Sprache angewendet werden. Unterklassen einer Klasse können ihr eigenes einzigartiges Verhalten definieren und dennoch einen Teil der gleichen Funktionalität der übergeordneten Klasse teilen “(die Java ™ -Tutorials, n.d.) Dies ist besonders vorteilhaft, wenn es um mehrere Objekte aus verschiedenen Unterklassen handelt, die einen gemeinsamen Superklassen -Typ teilen.
Zum Beispiel: Hunde, Katzen und Eulen sind Tiere:
SuperClass
public class Animal { public void makeSound() { System.out.println("Makes a Sound"); } }
Unterklasse der Tiere
public class Domesticated extends Animal { public void friendly() { System.out.println("This animal is friendly."); } }
Unterklasse von domestiziert
public class Undomesticated extends Animal { public void notFriendly() { System.out.println("This animal is not friendly."); } }
Unterklasse von domestiziert
public class Cat extends Domesticated { @Override public void makeSound() { System.out.println("Meow"); } }
Unterklasse von Unermestig
public class Owl extends Undomesticated { @Override public void makeSound() { System.out.println("Hoots"); } }
Hauptklasse, um das Ergebnis auszugeben
public class inheritanceExample { public static void main(String[] args) { Dog myDog = new Dog(); Cat myCat = new Cat(); Owl redOwl = new Owl(); System.out.println("MY Dog:"); myDog.makeSound(); // Outputs: Bark myDog.friendly(); // Outputs: This animal is friendly. System.out.println(); System.out.println("My Cat:"); myCat.makeSound(); // Outputs: Meow myCat.friendly(); // Outputs: This animal is friendly. System.out.println(); System.out.println("Red Owl:"); redOwl.makeSound(); // Outputs: Hoot redOwl.notFriendly(); // Outputs: This animal is not friendly. } }
HINWEIS: Die makeound () -Methoden im Hund- und Katzenklassen überschreiben die makeound () -Methode in der Tierklasse.
Zusätzlich ist die Hundeklasse eine Unterklasse der domestizierten Klasse, die eine Unterklasse der Tierklasse ist.
Kind von '→'
In Java kann eine Unterklasse nur eine Superklasse haben, zum Beispiel kann die Hundeklasse keine Superklasse domestiziert und ein Superklassentier haben, das Folgende ist nicht erlaubt.
Mit anderen Worten, eine Unterklasse kann nur eine Superklasse haben, und sie dürfen nicht mehrere Eltern, Großeltern oder Urgroßeltern haben.
Zusammenfassend lässt sich sagen, dass Javas Erbschaft Unterklassen die Funktionalität von Superklassen nutzen und erweitert, die Beziehung „IS-A“ verkörpert und Polymorphismus erleichtert. Dies verbessert die Wiederverwendbarkeit, Flexibilität und Konsistenz von Code, indem sie spezifische Verhaltensweisen in Unterklassen aktivieren und gleichzeitig gemeinsame Merkmale in einer gemeinsamen Superklasse beibehalten.
Referenzen:
cus global (n.d.). Modul 1: Arbeiten mit Vererbung [interaktiver Vortrag]. In der Colorado State University Global, CSC372: Programmierung II, Informatikabteilung. Leinwand. Abgerufen am 8. Juni 2024 von https://csuglobal.instructure.com/courses/94948/pages/module-1-overview?module_item_id=4868813..&&]
Die Java ™ -Tutorials (n.d.). Lernen der Java -Sprache: Schnittstellen und Vererbung. Orakel. Abgerufen am 8. Juni 2024, vonhttps: //docs.oracle.com/javase/tutorial/java/iandi/polymorphism.html
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3