2012-07-04 1 views
0

내 메인 클래스 내 주요 객체 참조를 만들 PayUnit을 가지고 같은 터치 스크린이 내 PayUnit-has-a 관계를있는 그대로 규모barcodeReader. 이 기계도 has-abillDispenser 그러나 billDispenser은 실제로 currencyDispener과 is-a 관계입니다. 나는 아직도 메인 클래스의 billDispensercurrencyDispenser 객체 참조를 만들려면 어떻게해야합니까, 또는 PayUnit에서 currencyDispenser 참조를 만들려면 어떻게해야합니까 다음 currencyDispenser 클래스의 billDispenser을 만들?기본 클래스 또는 적절한 관계 클래스에 모든 객체 참조를 만드십니까?

나는 그것이 의미가 있기를 바랍니다. 이 점에서 OOP의 표준은 무엇입니까?

도움 주셔서 감사합니다. 당신의 설명에서

답변

2

, PayUnit 모두 billDispensercurrencyDispenser에 대한 참조를 할 필요가 없다는 것을 나타납니다 (그들은 별도의 실체가 아니기 때문에, 그 중 하나는 다른의 구현입니다). 일반적으로 모듈의 API를 기술 한 프로토콜 (Java의 인터페이스 또는 추상 클래스) (예 : currencyDispenser)을 정의한 다음 해당 인터페이스를 준수하는 구현을 제공하는 팩토리 메소드를 사용합니다 (billDispenser 귀하의 경우). 이 질문에 대한 답변이되기를 바랍니다.

+0

구체적인 클래스에 대한 참조 만 볼 수 있습니다. – KiloJKilo

+2

질문을 이해할 수 있을지 모르지만 가능할 때마다 수퍼 클래스에 대한 참조를 사용하는 것이 좋습니다. 그러면 구체적인 클래스를 다른 클래스로 대체 할 수 있습니다. 귀하의 예제에서,'PayUnit'은'CurrencyDispenser'에 대한 참조를 가질 수 있고'PayDowns'에 아무런 변화없이'BillDispenser'의 인스턴스 나'CoinDispenser' 인스턴스를 할당 할 수 있습니다. – Macondo2Seattle