


Vererbung und Polymorphismus in Java: Verwendung von Superklassen und Unterklassen
In diesem Artikel wird erläutert, wie die Vererbung von Java eine „is-a“-Beziehung zwischen Superklassen und Unterklassen aufweist, die es Unterklassen ermöglicht, die Funktionalität von Superklassen zu erben und anzupassen. Durch die Verwendung von Polymorphismus können Unterklassen einzigartige Verhaltensweisen definieren, was die Wiederverwendung von Code und Flexibilität bei der objektorientierten Programmierung ermöglicht.
In Java ist die Beziehung zwischen Superklassen (übergeordnete Klasse) und Unterklassen (untergeordnete Klasse oder abgeleitete Klasse) bei der Vererbung eine is-a-Beziehung, die impliziert, dass die Unterklasse eine spezialisierte Version der Superklasse ist, die die Funktionalität erbt (Einschränkungen können möglich sein). angewendet werden) einer Klasse, von der es abgeleitet ist (CSU Global, n.d). Mit anderen Worten, wenn Klasse B von Klasse A erbt, dann ist Klasse B „ein“ Typ von Klasse A. Diese Beziehung ermöglicht es Klasse B, alle von Klasse A bereitgestellten Funktionalitäten zu nutzen (Einschränkungen können angewendet werden) und gleichzeitig ihre eigenen hinzuzufügen spezifische Funktionalitäten oder/und durch Überschreiben einiger oder aller Funktionalitäten der Klasse A. Die Fähigkeit der untergeordneten Klasse, Funktionalitäten zu überschreiben, ist eine Form von Polymorphismus.
„Die Wörterbuchdefinition von Polymorphismus bezieht sich auf ein Prinzip in der Biologie, bei dem ein Organismus oder eine Art viele verschiedene Formen oder Stadien haben kann.“ Dieses Prinzip lässt sich auch auf die objektorientierte Programmierung und Sprachen wie die Java-Sprache anwenden. Unterklassen einer Klasse können ihr eigenes einzigartiges Verhalten definieren und dennoch einige der gleichen Funktionen der übergeordneten Klasse teilen“ (The Java™ Tutorials, n.d.) Dies ist besonders nützlich, wenn es um mehrere Objekte aus verschiedenen Unterklassen geht, die einen gemeinsamen Oberklassentyp haben.
Zum Beispiel: Hunde, Katzen und Eulen sind Tiere:
Superklasse
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 der Domestizierten
public class Undomesticated extends Animal { public void notFriendly() { System.out.println("This animal is not friendly."); } }
Unterklasse der Domestizierten
public class Cat extends Domesticated { @Override public void makeSound() { System.out.println("Meow"); } }
Unterklasse der Undomestizierten
public class Owl extends Undomesticated { @Override public void makeSound() { System.out.println("Hoots"); } }
Hauptklasse zur Ausgabe des Ergebnisses
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 makeSound()-Methoden in den Klassen Dog und Cat überschreiben die makeSound()-Methode in der Animal-Klasse.
Außerdem ist die Klasse „Hund“ eine Unterklasse der Klasse „Domestiziert“, die eine Unterklasse der Klasse „Tier“ ist.
Kind von „→“
In Java kann eine Unterklasse nur eine Oberklasse haben. Beispielsweise kann die Klasse „Hund“ keine Oberklasse „Domestiziert“ und eine Oberklasse „Tier“ haben. Folgendes ist nicht zulässig.
Mit anderen Worten, eine Unterklasse kann nur eine Oberklasse haben, … und sie darf nicht mehrere Eltern, Großeltern oder Urgroßeltern haben.
Zusammenfassend lässt sich sagen, dass die Vererbung von Java es Unterklassen ermöglicht, die Funktionalität von Oberklassen zu nutzen und zu erweitern, wodurch die „ist-ein“-Beziehung verkörpert und Polymorphismus erleichtert wird. Dies verbessert die Wiederverwendbarkeit, Flexibilität und Konsistenz des Codes, indem spezifische Verhaltensweisen in Unterklassen ermöglicht und gleichzeitig gemeinsame Merkmale in einer gemeinsamen Oberklasse beibehalten werden.
Referenzen:
CUS Global (ohne Datum). Modul 1: Arbeiten mit Vererbung [Interaktive Vorlesung]. An der Colorado State University Global, CSC372: Programming 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 (ohne Datum). Erlernen der Java-Sprache: Schnittstellen und Vererbung. Orakel. Abgerufen am 8. Juni 2024 von https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html
Ursprünglich veröffentlicht bei Alex.omegapy auf Medium, veröffentlicht von Level UP Coding am 1. November 2024.
Das obige ist der detaillierte Inhalt vonVererbung und Polymorphismus in Java: Verwendung von Superklassen und Unterklassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Lösungen zum Umwandeln von Namen in Zahlen zur Implementierung der Sortierung in vielen Anwendungsszenarien müssen Benutzer möglicherweise in Gruppen sortieren, insbesondere in einem ...

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Konvertierung von Java-Objekten und -Arrays: Eingehende Diskussion der Risiken und korrekten Methoden zur Konvertierung des Guss-Typs Viele Java-Anfänger werden auf die Umwandlung eines Objekts in ein Array stoßen ...

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Wie erkennt die Redis -Caching -Lösung die Anforderungen der Produktranking -Liste? Während des Entwicklungsprozesses müssen wir uns häufig mit den Anforderungen der Ranglisten befassen, z. B. das Anzeigen eines ...

Detaillierte Erläuterung des Designs von SKU- und SPU-Tabellen auf E-Commerce-Plattformen In diesem Artikel werden die Datenbankdesignprobleme von SKU und SPU in E-Commerce-Plattformen erörtert, insbesondere wie man mit benutzerdefinierten Verkäufen umgeht ...
