Hallo,
Ich hatte seit langer zeit immer etwas ignoriert Polymorphism...
Ich habe ein example:
Wenn ich ein Objekt mit dem DatenTyp "Vehicle" und dessen constructor erstelle kann ich es ganz normal benutzen.
Wenn ich jedoch ein Objekt mit dem DatenTyp "Vehicle" und einem constructor "Car" erstelle kann ich nur funktionen und methoden von der classe "Vehicle", ausser wen ich eine methode in der classe "Car" @Override. Wieso??
Ich verstehe es einfach nicht, ich wäre sehr froh wen mir jemand dabei helfen kann.
MFG Rexo
Ich hatte seit langer zeit immer etwas ignoriert Polymorphism...
Ich habe ein example:
Java:
public class test {
public static void main(String[] args) {
Vehicle dataVehicleConVehicle=new Vehicle("OBJ1)DataType: Vehicle, Called Constructor: Vehicle");
Vehicle dataVehicleConCar=new Car("OBJ2)DataType: Vehicle, Called Constructor: Car(Vehicle.getName()",
"OBJ2)DataType: Vehicle, Called Constructor: Car(Car.getName()");
System.out.println(dataVehicleConVehicle.getName());
System.out.println();
System.out.println(dataVehicleConCar.getName());
System.out.println(dataVehicleConCar.start());
}
}
class Vehicle{
private String name;
public Vehicle(String name) {
this.name = name;
}
public String getName() {
return name;
}
public String start(){
return ":";
}
}
class Car extends Vehicle{
private String name;
public Car(String name, String name1) {
super(name);
this.name = name1;
}
@Override
public String getName() {
return name;
}
@Override
public String start(){
return "Starting Motor!";
}
}
Wenn ich ein Objekt mit dem DatenTyp "Vehicle" und dessen constructor erstelle kann ich es ganz normal benutzen.
Wenn ich jedoch ein Objekt mit dem DatenTyp "Vehicle" und einem constructor "Car" erstelle kann ich nur funktionen und methoden von der classe "Vehicle", ausser wen ich eine methode in der classe "Car" @Override. Wieso??
Ich verstehe es einfach nicht, ich wäre sehr froh wen mir jemand dabei helfen kann.
MFG Rexo