2010-02-23 2 views
2

개체 간의 관계와 관련된 쿼리가 있습니다.고객 및 지불 세부 정보를 연결하는 방법

시나리오 :

지불 세부 사항 - 가. 신용 카드 b. 계좌 저장 c. 확인

이제 고객은 제품을 구매하기 전에 위의 지불 세부 정보 중 하나를 가져야합니다. 고객과 지불 내역을 어떻게 연관시킬 수 있습니까?

어느 한 미리 ... 예와

감사를 설명 할 수 있습니다.

+0

동일한 고객이 여러 번 지불하거나 여러 부분으로 동일한 인보이스를 지불 할 수 있으므로 지불 세부 정보가 거래/인보이스에 연결되어 있어야합니다. –

+0

맞습니다. 제 관심은 지불 세부 사항을 거래 또는 인보이스와 연관시키는 방법입니다. –

답변

3
public interface IPaymentType 
{ 
    bool Pay(double amount); 
} 

public class CreditCardPType : IPaymentType 
{ 
    double limit; 
    // implement Pay() 
}  
public class Cheque: IPaymentType 
{ 
    int accountNumber; 
    // implement Pay() 
} 

public class Customer 
{ 
    public IPaymentType paymentType { get; set; } 
} 


Customer customer = new Customer(); 
customer.paymentType = new CreditCardPType(); 
+0

신용 카드 결제 유형에 적합합니다. 다른 경우에는 수표가 필요합니다. 신용 카드와 수표에는 몇 가지 속성이 있습니다. –

+0

IPaymentType 인터페이스 –

+0

에서 다른 두 클래스를 파생 시키면 Pay() 또는 인터페이스의 내용을 정의합니다. 클래스에 대한 속성을 별도로 유지하십시오. 에디션을 만들었습니다 –

0

귀하의 질문을 올바르게 모르겠습니까? 고객 클래스에 attribute "modeOfPayment"가 있으며 가능한 옵션이 될 수 있습니다. 고객 클래스의 생성자에서이 특성을 초기화합니다.

"Order"와 같은 클래스의 지불 세부 사항을 유지하는 것이 더 나은 옵션 일 수 있습니다. 고객은 신용 카드를 사용하여 주문에 대해 비용을 지불하도록 선택할 수 있으며 다른 고객은 다른 방법으로 지불하도록 선택할 수 있습니다.

0

고객 세부 정보 속성 \ 필드를 고객 오브젝트에 추가하십시오. 이것은 고객이 제품을 구입할 때의 기본 지불 모드입니다.

관련 문제