BaseClass
ときどき、インターフェイスを実装する抽象を作成IBaseClass
しChildClass
、BaseClass
. つまり、次のとおりです。
public interface IBaseClass {
}
public abstract class BaseClass implements IBaseClass {
}
public class ChildClass extends BaseClass {
}
ここで、インターフェースがあり、それIChildClass
をChildClass
実装するとします。
public class ChildClass extends BaseClass implements IChildClass {
}
そして、IBaseClass
has メソッドがあるとしsomeMethod
ます。のインスタンスを次のようなChildClass
実装インターフェイスで使用する場合IChildClass
:
IChildClass obj = new ChildClass();
その後、あなたは呼び出すことができませんobj.someMethod()
。次に、これを行う必要があります。
public interface IChildClass extends IBaseClass {
}
Java 1.2 のドキュメントで、最新バージョンではインターフェイスjava.util.List
が拡張されていないことがわかります。は当時最高のインターフェースであり、. を順番に拡張します。当時は最高級でした。現在実装しています。したがって、Java の常に拡張可能なパターンを念頭に置いて、この設計パターンに従っていることは明らかです。java.util.Collection
java.util.List
java.util.AbstractList
List
ArrayList
AbstructList
AbstractCollection
AbstractCollection
AbstractCollection
Collection