Card という名前の別のクラスのスーパークラスである Payment という名前のクラスがある場合、カードが有効かどうかを検証する別のクラスとどのように結合できますか。私のUML図は次のようになります。
Payment<---------Card
これを行うには2つの方法を考えましたが、どちらが正しいかを知りたいです。
1) クレジット カードが有効かどうかを確認するための関連付けを持つモデルですが、これを paymentCard に結合しません。
Card_list---1--------------1*---<>Card
したがって、クラス Card 内で次のように呼び出します。
class paymentCard extends Payment
{
public authorized() ---abstract method
{
if card.verified(card_number) return true; ---here I call the card class
else return false;
}
}
2)集約を使用できることを読みましたが、使用方法が少し疑わしいです:
class paymentCard extends Payment
{
Card creditcard //aggregation
public authorized()
{
creditcard=new Card(numberCard)
if creditcard.verified() return true;
else return false;
}
}
2つの形式のうち、どちらが優れていますか? 私にとって、最初のものはデータベースにもなる外部クラスへのクエリのように見えますが、2番目のものはよくわかりません
任意のコメント?