2016-11-14 8 views
0

私はインタビューでこの質問を2回受けました。一般的なカードデッキを設計する方法。デッキには魔法カード、宇野カード、通常のトランプカードが含まれます。どのようなクラス、メソッド、および属性を使用する必要がありますか?一般的なカードデッキを設計する

+0

あなたが使用しているものによって異なります。ポケモンカードデッキには、特定のタイプのカードしか見つからないようにするオプションのフィルターを備えた 'search()'メソッドが含まれているかもしれません。 –

+0

あるいは配列を使用してください。配列はシャッフルしたり、アイテムを引き出したり、それらに追加したり、それらを検索したり、フィルタリングしたりすることができます。クラスの必要はありません。 –

答えて

1

あなたはこの種の質問で本当に深く入ることができますが、常にカードのスーパークラスから始めるべきです。カード/デッキにすべてのカードの基本的な属性を与え、高さと幅、カードの数を保持するためのdeckSize、そしてデッキをシャッフルするためのシャッフル()メソッドを挙げます。

次に、MagicCards、UnoCards、PlayingCards(/ PokerCards?)クラスを作成して、Card/Deckをサブクラス化したいと思うでしょう。クラスに基づいて異なる属性とメソッドまたはビヘイビアを与える。 PlayingCardのようにスイート属性が必要です。マジックカードはmatch(Card card) またはcheck(Card card)が必要です。ユーザーが選んだカードが同じであるかどうかを確認してください(シンプルカードトリック)。

関連する問題