Hvad er Java extends søgeord?
class ParentClass{ ...}
class ChildClass extends ParentClass { ... }
Hvilken arv i Java?
For at forstå brugen af extends nøgleord i Java, er det først vigtigt at forstå begrebet arv. Java er et objektorienteret programmeringssprog (OOP). OOP er en metode til at designe et program ved hjælp af klasser og objekter. Når man beskæftiger sig med klasser og objekter, kan der være visse forhold mellem forskellige klasser, som skal repræsenteres. Arv er et sådant forhold mellem klasser. Arv angiver Is-A-Relation mellem objekter. Arv kan defineres som den mekanisme, hvor en klasse erhverver egenskaberne fra en anden klasse. Klassen, der arver, kaldes underklassen eller underklassen, mens den klasse, der nedarves, kaldes overordnet klasse eller superklassen. Forlængeri Java er nøgleordet, der bruges til at udføre nedarvning mellem klasser.Eksempel
Eksempel på Java extends søgeord er som følger:
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();
}
}
Produktion
Mit navn er Billy Min lyd er Bark Mit nr. af ben er 4 Min farve er Brun Min race er Labrador ------------------ Mit navn er Grace Min lyd er Bark My no. af ben er 4 Min farve er sort Min race er Husky ------------------ Jeg hedder Hugo Min lyd er Bark Mit nr. af ben er 4 Min farve er Grå Min race er puddel
GO TO FULL VERSION