Cos'è Java estende la parola chiave?
class ParentClass{ ...}
class ChildClass extends ParentClass { ... }
Quale eredità in Java?
Per comprendere l'utilizzo della parola chiave extends in Java, è innanzitutto essenziale comprendere il concetto di ereditarietà. Java è un linguaggio di programmazione orientato agli oggetti (OOP). OOP è un metodo per progettare un programma utilizzando classi e oggetti. Quando si ha a che fare con classi e oggetti, possono esserci determinate relazioni tra classi diverse che devono essere rappresentate. L'ereditarietà è una di queste relazioni tra le classi. L'ereditarietà denota Is-A-Relationship tra oggetti. L'ereditarietà può essere definita come il meccanismo in cui una classe acquisisce le proprietà di un'altra classe. La classe che eredita è chiamata classe figlia o sottoclasse mentre la classe che viene ereditata è chiamata classe genitore o superclasse. Si estendein Java è la parola chiave utilizzata per eseguire l'ereditarietà tra le classi.Esempio
Esempio di Java extends parola chiave è il seguente: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();
}
}
Produzione
Il mio nome è Billy Il mio suono è Bark Il mio no. di gambe è 4 Il mio colore è Brown La mia razza è Labrador ------------------ Il mio nome è Grace Il mio suono è Bark Il mio no. di zampe è 4 Il mio colore è Black La mia razza è Husky ------------------ Il mio nome è Hugo Il mio suono è Bark Il mio no. di zampe è 4 Il mio colore è Grigio La mia razza è Barboncino