Generalisierung bedeutet alle gemeinsamen Attribute und Methoden mehrerer Klassen in eine weitere Klasse zu extrahieren.
z.B. von Cat/Dog in die Klasse Animal
Vererbung bedeutet alle Attribute und Methoden einer Klasse einer anderen Klasse zu übertragen.
z.B. Cat und Dog bekommen alle Attribute und Methoden der Klasse Animal
public class Dog extends Animal {
public void bark() {
System.out.println("Wuff");
}
}
public class Animal {
public Animal(String name) {
this.name = name;
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
}
Methoden, Attribute und Konstruktoren die mit protected markiert sind können ausgeführt werden von:
*NKR
public class Car {
public int hp;
public char engineType;
public Car(int hp, char engineType) {
this.hp = hp;
this.engineType = engineType;
}
}
public class Car {
public int hp;
public char engineType;
public Car(int hp) {
this.hp = hp;
this.engineType = 'b';
}
}
public class Car {
public int hp;
public char engineType;
public Car(int hp) {
this(hp, 'b');
}
public Car(int hp, char engineType) {
this.hp = hp;
this.engineType = engineType;
}
}