下面是代码,我想了解几件事:
public class Test {
public void dosomething( ) {
Derived2 d2 = new Derived2 () ;
Base bobject = d2;
string str = "str" ;
bobject.Method1( str ); // I want to call Method1 of Derived1 class
}
}
public class Derived2 : Derived1 {
public void Method1( string s ) {
}
}
public class Derived1 : Base {
public override void Method1( double d ) {
}
public override void Method2( double d ) {
}
}
public abstract class Base {
public abstract void Method1( double d );
public abstract void Method2( double d );
}
我想知道,当我们将派生类对象分配给基本抽象类对象时会发生什么。我知道实例化抽象类是不可能的。就我而言,我正在派生类Derived1 并将Derived2类的对象分配给基本抽象类对象。现在我想访问接受字符串参数的Dervied2类方法Method1 。不知何故,我无法访问此方法。存在多个从基本抽象类派生的类。我想保持通用性。