1: 抽象クラス
抽象クラスはインスタンス化できません:
抽象クラスは通常、メソッドを記述する必要のない基底クラスとして使用されます
抽象クラス メソッドは具体的なメソッドを記述する必要はありません。
基本クラスの抽象メソッドを継承する場合は、引き続きオーバーライドが必要です。
知らせ:
抽象クラスの親クラスはインスタンス化できませんが、親クラスのオブジェクト名はサブクラスのエンティティ オブジェクトを参照できます
2: インターフェイス
インターフェイスは一般に、多くのサブクラスによって継承される必要があるメソッドに似ていますが、このメソッドはサブクラスが実装する必要はありません
ただし、インターフェイスが静的メソッドを記述する場合、このメソッドは具体的に実装する必要があります
また、インターフェイスをインスタンス化できません
また、インターフェイスのすべてのメソッドはデフォルトでパブリックです
次のように、インターフェイス IFly; 一般的に言えば、インターフェイスはデフォルトで I で始まり、書き換えはオーバーライドを必要としません。
interface IFly{ void Fly(); } public class Bird:IFly{ プライベート文字列 _name; public string Name{ get{return _name;} set{_name=value;} } public void Fly() { Debug.Log($"鸟:{this.Name},在天空飞行.......") ; } }
複数の継承が必要な場合は、Bird:Pet,IFly
3: ポリモーフィズム
IFly から継承する 2 つのクラスがあるとします。鳥と飛行機のはず
を使用しております
IFly ifly1=new Bird("(特定のパラメータ)");
IFly ifly2=new Plane("(特定のパラメータ)");
ifly1.fly();
ifly2.fly();
この 2 つで使用されるメソッドは、それぞれのクラスから継承されたメソッド、つまりサブクラスのメソッドである必要があります。
メソッドを実行する際、エンティティオブジェクト自体のクラス内のメソッドに応じて異なる方法で実行されます。つまり、同じコード、複数の実行効果、いわゆる「ポリモーフィズム」です。