所以在 Objective-C 中,我有一个 PlayingCardDeck 类(它包含一个 PlayingCards 数组,它是 Cards 的一个子类),它有一个 drawRandom 方法(从 Deck 类继承),它从该数组中返回一个随机 Card 对象。
我将这个 drawRandom 方法的结果分配给 Card *hello,因为返回了一个卡片对象,所以我不能将结果分配给 PlayingCard *hello。
如果我想访问我在 PlayingCards 中实现的一些方法,我该怎么做?我被迫分配给 Card,所以我无法访问任何 PlayingCard 方法。
我应该在 PlayingCardDeck 中重新实现 drawRandom 方法,以便它返回 PlayingCard 吗?
还是有其他方法可以做到这一点?(因为必须重新实现我所有的超类方法似乎是一种浪费……如果我这样做,那么子类化有什么意义?)
我只是错过了什么吗?