여기 제가 문제에 대한 제 이해입니다. 제가 틀렸다면 저를 수정하십시오.
귀하는 인벤토리 클래스를 가지고 있으며 상점에서 판매 할 수있는 모든 아이템은이 클래스의 인스턴스로 유지됩니다. 장바구니 클래스가 있습니다. 장 Y 구니에는 포함 된 제품의 목록이 들어 있습니다. 장바구니는 모든 품목의 합산 가격을 계산할 수도 있습니다.
사실 인 경우 몇 가지 제안 사항이 있습니다.
- 저장소에 개별 항목을 저장하는 또 다른 클래스 인 "항목"을 만드는 것이 좋습니다. 이렇게하면 상점 재고가 품목 목록이됩니다. 항목에는 가격 필드와 주식 및 공급 업체에 대한 정보가 포함될 수 있습니다.
- 장바구니의 생성/수정과 저장소 인벤토리의 수정을 처리하는 드라이버 클래스를 제안하지만이를 처리하기로 결정했습니다. 고객 (장바구니)과 소유자/직원 (재고/품목)을위한 드라이버가있는 것도 의미가 있습니다. 상속을 사용하려는 않은 경우
, 당신은 항목의 목록을 작성하고 추가를위한 방법을 포함, 삭제, 수정 등 그럼 당신은 쇼핑 카트를 쓸 수있는 것입니다 항목 목록 클래스를 쓸 수 있고 목록을 확장 할 때마다 하위 클래스로 재고를 저장하지만 장 Y 구니의 가격 합계와 같은 고유 한 메소드도 보유합니다. 구매자와 직원을위한 별도의 상품 클래스를 갖고 싶다면 이는 좋지 않은 아이디어가됩니다. 예를 들어, 구매자를위한 구매량에는 구매 한 수량과 가격이 포함되며 직원의 구매량에는 재고 수량과 공급 업체 정보 및 가격이 포함됩니다. 이 경우 여러 개의 서로 다른 항목 클래스가 필요하며 상속은 더 이상 작동하지 않습니다.
인벤토리의 항목 만 쇼핑 카트에 추가 할 수 있습니다. 복제 된 필드가있는 다른 개체라는 것이 왜 의심 스럽습니까? –
상속을 사용하지 마십시오. 액션 *에 인터페이스 *를 사용하거나 * 통합 *해야합니다. – user2864740