.NET の抽象クラスでのポリモーフィズムの実装

迷茫
リリース: 2017-03-26 16:22:31
オリジナル
1812 人が閲覧しました

1: ポリモーフィズムとは何ですか?

複数のフォーム、つまり、異なるオブジェクトは同じ操作に対して異なる応答をします。

2 本体

5. 抽象クラスは静的クラスまたはシールされたクラスにすることはできません

6. サブクラスも抽象クラスでない限り、サブクラスは親クラスのすべての抽象メソッドをオーバーライドする必要があります 7. 抽象クラスには通常のメソッドが存在できます

8. 抽象化にはコンストラクターが存在できます

9. 抽象クラス内の抽象メソッドは、サブクラスのメソッド形式を制約します。

3: 抽象クラスの「インスタンス化」

抽象クラス自体は new によってインスタンス化することはできませんが、参照オブジェクトをサブクラスの実オブジェクトに指すことができ、これを間接インスタンス化とも呼びます。

親クラスとしての person

public abstract class Person{    
public int Age { get; set; }
public string Name { get; set; }

public Person(int age,string name) {
this.Age = age;
this.Name = name;

}
public abstract void Say();

public void Eat()
{
Console.WriteLine("我是父类");
}
   }
ログイン後にコピー

Student クラスは Person

public class Student:Person{      public Student(string name,int age){    
                 public Student(int age, string name):base(age,name) {
                 this.Age = age;
                 this.Name = name;

                 }

                  public override void Say()
               {
               Console.WriteLine("子类说话");
                 }

public void Eat() {
Console.WriteLine("我是子类");

}
     }}
ログイン後にコピー

を継承します 親クラスのオブジェクトがサブクラスの実オブジェクトを指す場合、サブクラスは最初に親クラスのコンストラクターを使用し、次にサブクラスのコンストラクターを使用しますプロパティを割り当てます。 、

りー

以上が.NET の抽象クラスでのポリモーフィズムの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!