2009-12-30 3 views
1

빠른 질문. 클래스는 받아 들여지는 인터페이스를 직접 구현해야합니까, 아니면 인터페이스를 구현하는 부모 클래스의 자식 일 수 있습니까?클래스가 직접 인터페이스를 구현해야합니까?

그래서 자식 개체를 IOBJECT 만 수락하지만 자식 클래스 부모는 IOBJECT를 구현하는 메서드로 전달하면됩니다. 아이가 받아들이겠습니까?

답변

8

인터페이스 유형에 대해 상위가 IS-A를 충족시키는 경우 하위가 또한 수행합니다. 아이는 인터페이스를 구현할 필요가 없습니다.

+1

저는 IS-A라는 용어로는 공식적으로 보이지 않지만, 저는 여러분의 말을 얻은 것 같아요. – numerical25

+0

a 앵무새 IS-A 새 및 새 IS-A 동물 ... 따라서 Animal에서 인터페이스 메서드를 구현하고 액세스 가능성을 private가 아닌 다른 것으로 설정하면 Bird 개체와 Parrot 개체가 해당 메서드에 액세스 할 수 있으므로 그들은 또한 인터페이스를 구현합니다. –

+0

@ numeric25 - IS-A는 Liskov 대체 원칙을 충족시키는 "상속"을 의미합니다. HAS-A는 "구성"을 의미합니다. – duffymo

관련 문제