Unterschied zwischen abstrakter Klasse und Vererbung

Inhaltsverzeichnis:

Unterschied zwischen abstrakter Klasse und Vererbung
Unterschied zwischen abstrakter Klasse und Vererbung

Video: Unterschied zwischen abstrakter Klasse und Vererbung

Video: Unterschied zwischen abstrakter Klasse und Vererbung
Video: Unterschied VPN & Proxy (Anonym im Internet?) 2024, Dezember
Anonim

Abstrakte Klasse vs. Vererbung

Abstrakte Klasse und Vererbung sind zwei wichtige objektorientierte Konzepte, die in vielen objektorientierten Programmiersprachen wie Java zu finden sind. Die abstrakte Klasse kann als abstrakte Version einer regulären (konkreten) Klasse betrachtet werden, während die Vererbung es neuen Klassen ermöglicht, andere Klassen zu erweitern. Abstrakte Klasse ist eine Klasse, die nicht initialisiert, aber erweitert werden kann. Abstrakte Klassen sind also nur sinnvoll, wenn die Programmiersprache Vererbung unterstützt. In Java werden abstrakte Klassen mit dem Schlüsselwort Abstract deklariert, während das Schlüsselwort Extends zum Erben von einer (Super-) Klasse verwendet wird.

Was ist eine abstrakte Klasse?

Abstrakte Klassen, auch als abstrakte Basisklassen (ABC) bekannt, können normalerweise nicht instanziiert werden (eine Instanz dieser Klasse kann nicht erstellt werden). Abstrakte Klassen sind also nur sinnvoll, wenn die Programmiersprache Vererbung unterstützt (Fähigkeit, Unterklassen durch Erweitern einer Klasse zu erstellen). Abstrakte Klassen stellen normalerweise ein abstraktes Konzept oder eine Entität mit teilweiser oder keiner Implementierung dar. Daher fungieren abstrakte Klassen als übergeordnete Klassen, von denen untergeordnete Klassen abgeleitet werden, sodass die untergeordnete Klasse die unvollständigen Merkmale der übergeordneten Klasse teilt und Funktionen hinzugefügt werden können, um sie zu vervollständigen.

Abstrakte Klassen können abstrakte Methoden enth alten. Unterklassen, die eine abstrakte Klasse erweitern, können diese (geerbten) abstrakten Methoden implementieren. Wenn die untergeordnete Klasse alle diese abstrakten Methoden implementiert, ist sie eine konkrete Klasse. Wenn dies jedoch nicht der Fall ist, wird die untergeordnete Klasse ebenfalls zu einer abstrakten Klasse. All dies bedeutet, dass der Programmierer, wenn er eine Klasse als Abstract nominiert, damit sagt, dass die Klasse unvollständig ist und Elemente enthält, die von den erbenden Unterklassen vervollständigt werden müssen. Dies ist eine schöne Möglichkeit, einen Vertrag zwischen zwei Programmierern zu erstellen, was Aufgaben in der Softwareentwicklung vereinfacht. Der Programmierer, der zu erbenden Code schreibt, muss sich genau an die Methodendefinitionen h alten (kann aber natürlich seine eigene Implementierung haben).

Was ist Vererbung?

Vererbung ist ein objektorientiertes Konzept, das es neuen Klassen ermöglicht, andere Klassen zu erweitern. Das Schlüsselwort Extends wird verwendet, um das Konzept der Vererbung in der Programmiersprache Java zu implementieren. Die Vererbung ermöglicht im Wesentlichen die Wiederverwendung von Code, indem sie die Erweiterung von Eigenschaften und Verh alten einer vorhandenen Klasse durch eine neu definierte Klasse ermöglicht. Wenn eine neue Unterklasse (oder abgeleitete Klasse) eine Oberklasse (oder Elternklasse) erweitert, erbt diese Unterklasse alle Attribute und Methoden der Oberklasse. Die Unterklasse kann optional das von der Elternklasse geerbte Verh alten außer Kraft setzen (Methoden neue oder erweiterte Funktionalität bereitstellen). Typischerweise kann eine Unterklasse nicht mehrere Oberklassen erweitern (z. B. in Java). Daher können Sie Erweiterungen nicht für die Mehrfachvererbung verwenden. Um Mehrfachvererbung zu haben, müssen Sie Schnittstellen verwenden.

Was ist der Unterschied zwischen abstrakter Klasse und Vererbung?

Abstrakte Klassen repräsentieren normalerweise ein abstraktes Konzept oder eine Entität mit teilweiser oder keiner Implementierung. Durch Vererbung können neue Klassen andere Klassen erweitern. Da abstrakte Klassen nicht instanziiert werden können, müssen Sie das Konzept der Vererbung verwenden, um abstrakte Klassen zu verwenden. Andernfalls hat eine Abstract-Klasse keinen Nutzen. Abstrakte Klassen können abstrakte Methoden enth alten, und wenn die Klasse erweitert wird, werden alle Methoden (abstrakt und konkret) geerbt. Die geerbte Klasse kann beliebige oder alle Methoden implementieren. Wenn nicht alle Abstract-Methoden implementiert sind, wird diese Klasse ebenfalls zu einer Abstract-Klasse. Eine Klasse kann nicht von mehr als einer abstrakten Klasse erben (dies ist keine Eigenschaft von abstrakten Klassen per se, sondern eher eine Beschränkung der Vererbung).

Verwandte Beiträge:

Image
Image
Image
Image

Unterschied zwischen abstrakter Klasse und konkreter Klasse

Image
Image
Image
Image

Unterschied zwischen virtuell und abstrakt

Image
Image
Image
Image

Unterschied zwischen abstrakter Klasse und Schnittstelle

Image
Image
Image
Image

Unterschied zwischen Implements und Extends

Image
Image
Image
Image

Unterschied zwischen Graph und Baum

Filed Under: Programmierung Markiert mit: ABC, Abstract, Abstrakte Basisklassen, Abstrakte Klasse, Abstrakte Klassen, Abstraktes Schlüsselwort, Abstrakte Methoden, Konkrete Klasse, Erweitertes Schlüsselwort, Vererbung, Vererbungsklasse, Vererbte Klasse, Java, Mehrfachvererbung, objektorientierte Konzepte, reguläre Klasse, Superklasse

Bild
Bild

Über den Autor: Indika

Indika, BSc. Eng, MSECE Computer Engineering, PhD. Informatik, ist Assistant Professor und hat Forschungsinteressen in den Bereichen Bioinformatik, Computational Biology und Biomedical Natural Language Processing.

Kommentare

  1. Bild
    Bild

    Jason sagt

    30. August 2017 um 13:25 Uhr

    Danke, dass du den Unterschied erklärt hast. Alle meine Fragen wurden damit gelöst.

    Antwort

  2. Bild
    Bild

    Aus sagt

    10. Mai 2019 um 15:04 Uhr

    beste Antwort im Internet, Lehrer erklärt keinen Scheiß und macht keinen Sinn, Monoton mf. So erklären Sie Konzepte.

    Antwort

Hinterlasse eine Antwort Antworten abbrechen

Ihre E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mitgekennzeichnet

Kommentar

Name

E-Mail

Website

Artikel anfordern
Artikel anfordern
Artikel anfordern
Artikel anfordern

Empfohlene Beiträge

Unterschied zwischen Coronavirus und Erkältungssymptomen
Unterschied zwischen Coronavirus und Erkältungssymptomen

Unterschied zwischen Coronavirus und Erkältungssymptomen

Unterschied zwischen Coronavirus und SARS
Unterschied zwischen Coronavirus und SARS

Unterschied zwischen Coronavirus und SARS

Unterschied zwischen Coronavirus und Influenza
Unterschied zwischen Coronavirus und Influenza

Unterschied zwischen Coronavirus und Influenza

Unterschied zwischen Coronavirus und Covid 19
Unterschied zwischen Coronavirus und Covid 19

Unterschied zwischen Coronavirus und Covid 19

Vielleicht gefällt dir

Unterschied zwischen Siberian Husky und Malamute

Unterschied zwischen Calculus AB und BC

Empfohlen: