いくつかの汎用コードを実行し、多くのクラスに共通する変数を初期化したいと考えています。このすべての作業を基本クラスで行うのは理にかなっています。作成したデータに基づいて、特定の関数に固有のコードを実行したいと考えています。これらの関数は、基本クラスから派生したクラスにある必要があると思います。ただし、基本クラスで初期化されたデータにもアクセスできるようにしたいと考えています。
このようなもの:
class Animal
{
public Animal()
{
public int _earCount = 2;
// determine if the planet is all water or all land
}
}
class Dog : Animal
{
public WagEars()
{
// for each ear, execute code to wag it
}
}
class Whale : Animal
{
public FlipTail()
{
// code to flip
}
}
public main()
{
Animal fred = new Animal;
// what code goes here to invoke WagEars if the planet is all land?
}
基本的に、私がやろうとしているのは、中間にいくつかの派生クラス固有のコードを含むすべてのオブジェクトに対して共通のヘッダー/フッター タイプのコードを実行することです。
fred が作成されたとき、それが犬になるかクジラになるかは、共通コードが実行されるまでわかりません。