抽象メソッド
メソッドの内容を指定せずに唯一の文、
抽象メソッドは、ニーズが書き換えられるために、直接呼び出すことはできません
声明
同じ一般的なメソッド宣言では、抽象的なキーワードを追加します
抽象メソッド名のスコープ戻り値の型();
抽象クラス
クラスの抽象メソッドが含まれていることは抽象クラスであります
抽象クラスを直接使用することはできません、それはインスタンス化することはできません。
効果
何ができるかについてサブクラス、ない具体的な業務内容を教えてください。
抽象クラスは、サブクラスで書き換え抽象メソッドを継承する必要があります。
(要約指向プログラミング)
声明
抽象クラスのクラス名{
...
}
継承
抽象クラスは、抽象クラスを継承することができます
インターフェース
公共グローバル定数及び抽象メソッドを含む特別クラス。
効果
インタフェース多重継承(単一継承クラスのみ)
プログラミング・インタフェースのために、関数のクラスを決定します
声明
インタフェースのインタフェース名{
グローバル定数
抽象メソッド
}
すべてのインターフェイスメソッドは、パブリック抽象メソッドであるため、公共の抽象的なキーワードを省略することができます
継承
- 継承インターフェイスインターフェイス、抽象クラスを継承し、一般的なカテゴリすることができません
- 継承インタフェースが使用する必要が道具をキーワード、および継承することができ、複数のインタフェースを
-
普通のクラスがインターフェイスを継承し、インターフェイスは、オーバーライドする必要があり、すべてのメソッドを
たとえば、
// インタフェース宣言Aを2つの抽象メソッド含む、印刷、エリア
インターフェースA {
無効印刷();
フロート領域(二重登録商標);
}
// インタフェース宣言Bは、抽象メソッドが含まれたlenを
インターフェースB {
フロートLEN(ダブルワット、ダブルH}
}
// インタフェースから共通のクラスと継承の作成A 及びBを
クラステスト用具A、B {
// インターフェイスのすべてのメソッドをオーバーライドする必要があります
@オーバーライド
ボイドプリント(){
...
}
@オーバーライド
フロート領域(二重R){
返す3.14 * R * rは、
}
フロートlenを(ダブルワット、ダブルH){
リターン* H * 2ワット。
}
}