Hallo,
s sollte ein ziemliches Standardproblem sein mit Vererbung. Ich habe folgende drei Klassen.
derived erbt von base. Dann hab ich eine dritte Klasse in der eine Variable der Basisklasse definiert wird (x):
Meine Frage:
Ist es moeglich eine Objekt des Typs der Basisklasse zu deklarieren und dann mit dem Konstruktor der abgeleiteten Klasse zu definieren, so dass ich Funktionen, von Basis und von abgeleiteter Klasse aufrufen kann?
Wieso geht is bei mir nicht und wie macht man sowas normalerweise (bitte mit Codezeile)?
Danke
s sollte ein ziemliches Standardproblem sein mit Vererbung. Ich habe folgende drei Klassen.
derived erbt von base. Dann hab ich eine dritte Klasse in der eine Variable der Basisklasse definiert wird (x):
Code:
//base.java
public class base{
public base(){}
public void basefunction(){
System.out.println("base function");
}
}
// derived.java
class derived extends base{
public derived(){}
public void derivedfunction(){
System.out.println("derived function");
}
}
// control.java
class control{
public control(){}
public static void main(String[] argv){
base b = new base();
b.basefunction();
derived a = new derived();
a.derivedfunction();
a.basefunction();
//////////// Problem:
base x = a;
x.basefunction();
x.derivedfunction(); // findet die Funktion nicht, warum ??? Gibts Wege das in Java hinzubekommen?
}
}
Meine Frage:
Ist es moeglich eine Objekt des Typs der Basisklasse zu deklarieren und dann mit dem Konstruktor der abgeleiteten Klasse zu definieren, so dass ich Funktionen, von Basis und von abgeleiteter Klasse aufrufen kann?
Wieso geht is bei mir nicht und wie macht man sowas normalerweise (bitte mit Codezeile)?
Danke