머리 중심 디자인 패턴을 읽고 Java를 이해하고 있습니다. 클래스에서 다른 것을 캡슐화하고 서브 클래스에 해당 기능을 넣는 대신 별도의 인터페이스에 넣는 것으로 시작합니다. 그들이 제공하는 예제는 오리에 따라 돌팔이 나 날 수있는 추상 오리 클래스입니다. 그들은 quack and fly (QuackBehavior와 FlyBehavior 인터페이스)를위한 인터페이스를 가지고 있고, 그런 다음 그 인터페이스를 다른 클래스에 구현합니다. 내가 무엇을 나에게 새로운 것은 인터페이스 유형이다 인스턴스 변수를 가진 것 같다Java의 동작 인터페이스 유형에 대한 참조 변수
public abstract class Duck {
QuackBehavior quackBehavior;
FlyBehavior flyBehavior;
.....
}
을 다음과 같이 예에서
, 그들은 추상적 인 오리 클래스가 있습니다. 전에는 배운 적이 없지만 그것이 유효하다고 가정하고 있습니까? 나는 구체적인 클래스의 인스턴스 변수를 갖는 것에 익숙하다고 생각한다. 이 같은 클래스/인터페이스의 인스턴스 변수를 갖는 것에 대한 규칙이 있습니까? 감사.