重複の可能性:
Java の使用 [インターフェイス / 抽象クラス]
インターフェイスと抽象クラスを使用する理由と、どの状況で抽象クラスとインターフェイスを使用する必要がありますか?? 誰でもこれを最も簡単な例で説明できますか.....
重複の可能性:
Java の使用 [インターフェイス / 抽象クラス]
インターフェイスと抽象クラスを使用する理由と、どの状況で抽象クラスとインターフェイスを使用する必要がありますか?? 誰でもこれを最も簡単な例で説明できますか.....
この場合のように、すべてのサブタイプに異なる特定のロジックを実装する場合は、インターフェイスを使用します。
interface GeometricalShape{
# only abstract methods are allowed
GetArea();
GetPerimeter();
}
この場合、各幾何学的形状は、面積と周長を計算するために特定のロジックを実装する必要があります。
サブタイプが特定のロジックを実装する必要があるが、この場合のようにすべてのサブタイプに共通のロジックがある場合は、抽象クラスを使用します。
abstract class GeometricalShape{
name;edgeCount;
protected GeometricalShape(name,edgeCount)
#abstract methods
abstract GetArea();
abstract GetPerimeter();
#Concrete methods
GetName(){return name;}
GetEdgesCount(){return edgesCount}
この例では、各幾何学的形状は以前のように面積と周長に関する特定のロジックを実装する必要がありますが、すべてのサブタイプが幾何学的形状の名前とエッジ数を取得するための共通のメソッドを共有します。サブクラスごと。