Heim > Java > javaLernprogramm > Vererbung und Polymorphismus in Java: Verwendung von Superklassen und Unterklassen

Vererbung und Polymorphismus in Java: Verwendung von Superklassen und Unterklassen

Linda Hamilton
Freigeben: 2025-01-06 10:31:46
Original
888 Leute haben es durchsucht

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");
    }
}
Nach dem Login kopieren

Unterklasse der Tiere

public class Domesticated extends Animal {
    public void friendly() {
        System.out.println("This animal is friendly.");
    }
}
Nach dem Login kopieren

Unterklasse der Domestizierten

public class Undomesticated extends Animal {
    public void notFriendly() {
        System.out.println("This animal is not friendly.");
    }
}
Nach dem Login kopieren

Unterklasse der Domestizierten

public class Cat extends Domesticated {
    @Override
    public void makeSound() {
        System.out.println("Meow");
    }
}
Nach dem Login kopieren

Unterklasse der Undomestizierten

public class Owl extends Undomesticated {
    @Override
    public void makeSound() {
        System.out.println("Hoots");
    }
}
Nach dem Login kopieren

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.
     }
}
Nach dem Login kopieren

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 „→“
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

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.
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

Mit anderen Worten, eine Unterklasse kann nur eine Oberklasse haben, … und sie darf nicht mehrere Eltern, Großeltern oder Urgroßeltern haben.
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage