2012-04-19 2 views
-2

저는 은행 계좌를 시뮬레이트하기로되어있는 프로그램을 만들고 있습니다. "Investment"라는 기본 클래스와 "Stock"및 "MutualFund"라는 두 하위 클래스가 있으며 "CustomerAccount"라는 클래스가 있는데이 클래스는 기본 클래스 "Investment"와 연관되어 있어야합니다. This is a picture of the classes and how they should be set up클래스 연결

CustomerAccount 클래스를 Investment 클래스와 연결하는 방법을 모르겠습니다.

+0

나는 UML 그것을 겠? –

+0

이것은 C#과 어떤 관련이 있습니까? – Msonic

+0

@james :'CustomerAccount'는'Investment's의 목록을 가지고 있습니다. –

답변

0

계정이 AddStockAddMutualFund 인 것보다 AddInvestment이어야하며 주식 또는 발명품을 추가해야합니다. 그러면 모든 주식 또는 뮤추얼 펀드를받는 것보다 모두 Investment이됩니다.

+0

'List investies'를 유지하고 모든 AddInvestment()는'investments.Add (theNewInvestment)'를해야한다. 그것은 두 클래스가 있어야하는 "연관"입니다. –

+0

@jb. OP는 그가 삭제 한 이후에 또 다른 스레드를 게시했습니다. 그것에서 그는 이미'List '을 가진 많은 코드를 게시하고 주어진 메소드로 예상대로 사용했다. 그가 이미 그걸 가지고 있다는 것을 알았으니, 나는 여기서 언급하지 않았다. – Servy

1

CustomerAccount 클래스에는 Investment와 "CanHave"관계가 있습니다.

CustomerAccount 클래스에서 Investments 컬렉션을 만듭니다. 목록을 사용하여이를 달성 할 수 있습니다 :

List<Investment> _investments; 

생성자에서 목록을 초기화하는 것을 잊지 마십시오.

_investments = new List<Investment>(); 

편집 :

목록을 반복 :

foreach Investment invst in _investments 
{ 
    if (invst.GetType() == typeof(Stock)) { } 
    else if (invst.GetType() == typeof(MutualFund)) { } 
} 
+0

좋아요, 어떻게하는지 이해합니다. 그게 내가해야 할 일이야? –

+1

예. UML에서 잠시 물러나서 현실 세계를 생각하면 사람들은 여러 가지 투자를 할 수 있습니다. 이들을 추적하는 한 가지 방법은 투자 목록을 작성하는 것입니다. 투자를 개별적으로 추적하려는 경우 각 하위 클래스 유형에 대한 목록을 만들 수 있습니다. 투자 목록을 반복하는 경우 투자 유형을 결정한 다음 해당 유형으로 캐스트하여 하위 클래스 별 속성 및 데이터에 액세스 할 수 있기 때문에 조금 더 쉬울 수 있습니다. 집단. – darin

관련 문제