以下はコードで、いくつか理解したいことがあります。
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にアクセスしたいと思います。どういうわけか、このメソッドにアクセスできません。基本抽象クラスから派生した複数のクラスが存在します。私は物事を一般的に保ちたいと思っています。