ポリモーフィッククラスの三つの特徴の一つは、抽象クラスは、多型を達成するための方法の一つです。精製水で満たされた仮想メソッドがカップに比べた場合、それは抽象クラスで、何が、その後、「純水」の時は、事前定義された方法は、我々はさまざまなニーズに応じて、事前に満開にカップを変更することができますです「純水」または「コーヒー。」抽象クラスはありません。しかし、彼はカップをインストール決めるために、必要としている人々が自分を得るようにすることを、より多くの滅菌キャビネット内に置かれ、空のカップ、のようなものです。「カップ」が抽象メソッドであり、ストレージカップ「殺菌」は、抽象クラスです。
私たちは、使用抽象宣言するか、抽象クラスや抽象メソッドを定義し、
// 抽象クラス定義 [アクセス] 抽象 クラス[クラス名]を { } // 抽象メソッドを定義する [アクセス] 抽象 [リターンタイプ] [メソッド名]([データシート])。
これは、ことに留意すべきです。
抽象メソッドが抽象クラスを持つことができ、抽象メソッドを省略することができます。(「滅菌」は、カップ内に格納することができ、また箸を格納することができます)
抽象メソッドは抽象クラスに存在する必要があり、そしてこの方法は、その方法を持つことはできません。(第一カップはそうでない場合、私は何のゲストは、このカップでやりたいしないことを恐れている、使用されていないカップに続いて、清潔な無菌の場所に配置する必要があるかもしれません。)
抽象クラスは、インスタンス化することができないだけで抽象クラスがあることが、彼の派生クラスがインスタンス化されるから継承することができます継承されます。
唯一その派生クラスで抽象クラス抽象メンバーが上書きキーワードの実装を。
抽象クラスと抽象メソッドの使用:
// 食器棚はカップを持って、戸棚を定義する(この時間は、インスタンス化することはできません) 抽象 クラス内閣 { 公共の 抽象 無効カップ(); } // ドリンクミルクのようなファーストクラスの顧客 クラスCustomer1:内閣 { 公共 オーバーライド 無効カップ() { Console.WriteLineを(" 牛奶" ); } } // ソーダのような第二のクラスの顧客 クラスCustomer2:内閣 { 公共 オーバーライド 無効カップ() { Console.WriteLineを(" 汽水" )。 } }
派生クラスはインスタンス化され、結果が検証されます。
A =内閣新しい新内閣(); //は、抽象クラスの原因エラーをインスタンス化することはできません Customer1 A = 新新)Customer1(; カップ(); 出力: ミルク Customer2のB = 新しいCustomer2()。 b.Cup(); 出力: 清涼飲料水
これは抽象クラスの私の理解で、初心者は、あなたがすべてのより良い、私のような初心者を助けることができるかどうか間違ってください古いドライバはまた、彼らの収穫の要約の特定を指摘したものがあります。おやすみ世界!