Hva er Java extends nøkkelord?
class ParentClass{ ...}
class ChildClass extends ParentClass { ... }
Hvilken arv i Java?
For å forstå bruken av utvides nøkkelord i Java, er det først viktig å forstå konseptet med arv. Java er et objektorientert programmeringsspråk (OOP). OOP er en metode for å designe et program ved hjelp av klasser og objekter. Når man arbeider med klasser og objekter, kan det være visse forhold mellom ulike klasser som må representeres. Arv er et slikt forhold mellom klasser. Arv angir Is-A-Relation mellom objekter. Arv kan defineres som mekanismen der en klasse får egenskapene til en annen klasse. Klassen som arver kalles barneklassen eller underklassen, mens klassen som arves kalles foreldreklassen eller superklassen. Strekkeri Java er nøkkelordet som brukes til å utføre arv mellom klasser.Eksempel
Eksempel på Java extends nøkkelord 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();
}
}
Produksjon
Mitt navn er Billy Lyden min er Bark. Mitt no. av ben er 4 Min farge er Brun Min rase er Labrador ------------------ Mitt navn er Grace Min lyd er Bark My no. av ben er 4 Min farge er svart Min rase er Husky ------------------ Mitt navn er Hugo Lyden min er Bark My no. av ben er 4 Min farge er grå Min rase er puddel