Einzelvererbung kann als abgeleitete Klasse definiert werden, um die grundlegenden Methoden (Datenelemente und Variablen) und das Verhalten von einer Oberklasse zu erben. Es handelt sich um ein grundlegendes Ist-eine-Beziehungskonzept, das hier existiert. Java verwendet nur eine einzige Vererbung als Unterklasse und kann keine weiteren Oberklassen erweitern.
WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 ProbetestsVererbung ist die grundlegende Eigenschaft der objektorientierten Programmierung. Bei der Vererbung werden tendenziell die Eigenschaften eines Klassenobjekts in einem anderen Objekt verwendet. Java nutzt Vererbung für die Wiederverwendbarkeit von Code, um die Zeit zu verkürzen, indem die Zuverlässigkeit erhöht und Laufzeitpolymorphismus erreicht wird. Da die Codes wiederverwendet werden, sinken die Entwicklungskosten und der Wartungsaufwand. Java verfügt über verschiedene Arten der Vererbung, nämlich Einzelvererbung, Mehrebenenvererbung, Mehrfachvererbung und Hybridvererbung. In diesem Artikel soll anhand eines Programmierbeispiels kurz auf ein grundlegendes Verständnis des Einzelvererbungskonzepts in Java eingegangen werden. Hier werden wir eine vollständige Implementierung in Java haben.
Syntax:
Die allgemeine Syntax hierfür ist unten angegeben. Die Vererbungskonzepte verwenden das Schlüsselwort „extend“, um eine bestimmte Klasse zu erben. Hier erfahren Sie, wie Sie mit erweiternden Schlüsselwörtern eine Klasse ableiten. Nach dem Klassennamen deklarieren wir ein erweitertes Schlüsselwort, gefolgt von einem anderen Klassennamen.
Code:
class base class {…. methods } class derived class name extends base class { methods … along with this additional feature }
Java verwendet das Schlüsselwort „extends“, um eine neue Klasse zu erstellen, die von der vorhandenen Klasse abgeleitet wird. Wir bezeichnen die geerbte Klasse als Basisklasse oder Oberklasse und die neu erstellte Klasse als abgeleitete Klasse oder Unterklasse. Die Basisklasse stellt Datenelemente und Methoden bereit, während die untergeordnete Klasse diese Methoden erbt.
Einfache Vererbung spezifiziert Beziehungen zwischen untergeordneten und übergeordneten Klassen, wenn sie erweitert werden, und stellt die einfachste Art aller Methoden dar, z. B. die Erbschaft von Birne und Apfel von den Früchten. Bei Vererbungsmechanismen werden Objekte von oben nach unten behandelt. Zuvor haben wir etwas über Syntax und ihre Deklaration gelernt. Es ist notwendig, das Konzept der Zugriffsspezifizierer zu lesen, nämlich privat, öffentlich und geschützt. Die Klasse kann erst dann auf alle Datenelemente zugreifen, wenn sie als privat deklariert wird. Für die Öffentlichkeit ist jede Klasse zugänglich. Der Schutz erfolgt mit demselben Paket; Auch das gilt nur durch Vererbung.
Code:
class fruits {private int f; int g; private void mmm () { System.out.println(“….”); } } class M extends fruits {void method (); ……… }} class Main { public static void main (String [] args) { M ob= new M (); Ob.f=3; // here the variable cannot be accessed Ob.mmm(); }
Erklärung des obigen Codes: Im obigen Beispielcode, der Anweisung ob.=3, kann die untergeordnete Klasse nicht auf private Mitglieder einer Basisklasse zugreifen, was es unmöglich macht, diese zuzuweisen. Daher wird ein Fehler ausgegeben, bei dem kein Symbol gefunden werden kann (Fehler bei der Kompilierung). Um damit arbeiten zu können, müssen die Daten, über die die übergeordnete Klasse verfügt, öffentlich gemacht werden.
Im folgenden Beispiel haben wir in der Oberklasse „geschützt“ deklariert, auf die die Unterklasse direkt zugreifen kann.
Code:
class pgm { protected int I,k; method ( int m,int n) { … } class R extends pgm { private int f; // methods } public class protected Main { public static void main() { // methods and objects access }
Das Flussdiagramm für die Einzelvererbung ist unten aufgeführt:
Klasse Y erbt Klasse X und erweitert nur eine einzelne Klasse.
In diesem Abschnitt wird die Implementierung der Einzelvererbung vorgestellt, bei der die untergeordnete Klasse mithilfe erweiterter Schlüsselwörter auf übergeordnete Eigenschaften und Verhaltensweisen verweist.
Hinweis: Ich habe in all diesen Beispielen Main als Klassennamen verwendet. Sie müssen den Dateinamen während der Ausführung als Main.java speichern.Berechnung des Gehalts eines Mitarbeiters mithilfe der Einzelvererbung mit der Objektklasse.
Code:
class Employee { float sal=60000; } class Main extends Employee { float b=1500; float temp= sal + b; public static void main(String args[]) { Main ob=new Main(); System.out.println("Salary amount is:"+ob.sal); System.out.println(" Extra Bonous is:"+ob.temp); } }
Ausgabe:
Implementierung eines Rechners mit den Methoden Summe, Subtraktion und Division von Multiplikationen.
Code:
class Calc{ int sum(int i , int j) { return i+j; } int subract(int i , int j) { return i-j; } } public class Main extends Calc { int mul(int xx , int yy) { return xx*yy; } int divide(int xx , int yy) { return xx/yy; } public static void main(String args[]) { Main c= new Main(); System.out.println(c.sum(2,2)); System.out.println(c.subract(2,6)); System.out.println(c.mul(8,9)); System.out.println(c.divide(2,2)); } }
Ausgabe:
Berechnung der Rechteck- und Dreiecksfläche mithilfe der Einzelvererbung.
Code:
class Rectdemo { int le,be; void Sval(int a,int b) { le=a; be=b; } int GetR() { return le*be; } } class Tri extends Rectdemo { int b,h; float t; void Sdata(int q,int r) { b=r; h=q; } float GetT() { t=(float)le/2*b*h; return (t); } } class Main { public static void main(String args[]) { Tri Tr=new Tri(); Tr.Sval(40,8); Tr.Sdata(10,6); System.out.println("Area of Rectangle is calculated as :" +Tr.GetR()); System.out.println("Area of Triangle is calculated As :"+Tr.GetT()); } }
Ausgabe:
Verwenden von Super-Schlüsselwörtern bei der Einzelvererbung. Das Super-Schlüsselwort bezieht sich auf die übergeordnete Klasse eines Objekts und fungiert als dessen Konstruktor.
Code:
class Library { String lname; public Library(String m) { lname = m; } } public class Main extends Library { String lname; public Main(String x1, String x2) { super(x1); //passing argument to parent class constructor this.lname = x2; } public void display() { System.out.println(super.lname+" and "+lname); } public static void main(String[] args) { Main c = new Main("library name","library id"); c.display(); } }
Ausgabe:
Überschriebene Methode, die von einer Unterklasse mithilfe von Vererbung aufgerufen wird.
Code:
class even { void display() { System.out.println(" Even Nos,4 2"); } } class odd extends even { void display() { super.display(); System.out.println(" Odd Nos ,1 3"); } } class Main { public static void main(String[] args) { even e = new odd(); e.display(); } }
Ausgabe:
Als Abschluss dieses Artikels geht es um verschiedene Vererbungskonzepte und um die Arbeit mit der in Java verfügbaren Einzelvererbung. Sie lernen auch die funktionierende Implementierung mithilfe des Schlüsselworts „Extend“ kennen. Ich hoffe, dass dieser Artikel sehr informativ ist und Anfängern Wissen vermittelt.
Das obige ist der detaillierte Inhalt vonEinzelvererbung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!