Mi az a Java kiterjesztett kulcsszó?
class ParentClass{ ...}
class ChildClass extends ParentClass { ... }
Milyen öröklődés a Java-ban?
Ahhoz, hogy megértsük az extends kulcsszó használatát a Java nyelven, először is fontos megérteni az öröklődés fogalmát. A Java egy objektum-orientált programozási (OOP) nyelv. Az OOP egy program osztályok és objektumok segítségével történő tervezésének módszere. Amikor osztályokkal és objektumokkal foglalkozunk, előfordulhatnak bizonyos kapcsolatok a különböző osztályok között, amelyeket ábrázolni kell. Az öröklődés az egyik ilyen kapcsolat az osztályok között. Az öröklődés az objektumok közötti Is-A-relációt jelöli. Az öröklődés úgy definiálható, mint az a mechanizmus, amikor az egyik osztály egy másik osztály tulajdonságait szerzi meg. Az öröklődő osztályt gyermekosztálynak vagy alosztálynak, míg az öröklött osztályt szülőosztálynak vagy szuperosztálynak nevezik. MeghosszabbítjaJava-ban az osztályok közötti öröklődés végrehajtására használt kulcsszó.Példa
Példa a Java extends kulcsszóra a következő:class Animal {
// fields of the parent class
String name;
String sound;
int noOfLegs;
// default constructor of the parent class
public Animal (){}
// parameterized constructor of the parent class
public Animal (String name, String sound, int legs){
this.name = name;
this.sound = sound;
this.noOfLegs = legs;
}
// method of the parent class
public void display() {
System.out.println("My name is " + name);
System.out.println("My sound is " + sound);
System.out.println("My no. of legs is " + noOfLegs);
}
}
// inherit from Animal
class Dog extends Animal {
String color;
String breed;
// new method in subclass
public Dog(String name, String sound ,int legs, String color, String breed){
super(name,sound,legs);
this.color = color;
this.breed = breed;
}
public void display() {
super.display();
System.out.println("My color is " + color);
System.out.println("My breed is " + breed);
}
}
public class Main {
public static void main(String[] args) {
// create an object of the subclass
Dog dog1 = new Dog("Billy","Bark",4,"Brown","Labrador");
dog1.display();
System.out.println("------------------");
Dog dog2 = new Dog("Grace","Bark",4,"Black","Husky");
dog2.display();
System.out.println("------------------");
Dog dog3 = new Dog("Hugo","Bark",4,"Gray","Poodle");
dog3.display();
}
}
Kimenet
A nevem Billy A hangom Bark. a lábak száma 4 A színem barna A fajtám labrador ------------------- A nevem Grace A hangom Bark. a lábak száma 4 A színem fekete A fajtám Husky ------------------ A nevem Hugo A hangom Bark. lábak száma 4 A színem szürke A fajtám az uszkár