这道鸵鸟的题,你能答对吗?

关于子类型的描述中,( )是错误的?

如果鸟是可以飞的,那么驼鸟是鸟么?驼鸟如何继承鸟类?

答案:

鸟是可以飞的。 也就是说,当鸟飞行时,它的高度是大于0的。 驼鸟是鸟类(生物学上)的一种, 但它的飞行高度为0(驼鸟不能飞)。

不要把可替代性和子集相混淆。 即使驼鸟集是鸟集的一个子集(每个驼鸟集都在鸟集内),但并不意味着鸵鸟的行为能够代替鸟的行为。 可替代性与行为有关,与子集没有关系。 当评价一个潜在的继承关系时,重要的因素是可替代的行为,而不是子集。

如果一定要让驼鸟来继承鸟类, 可以采取组合的办法, 把鸟类中的可以被驼鸟继承的函数挑选出来,这样驼鸟就不是"a kind of"鸟了,而是"has some kind of"鸟的属性而已。

class bird
{
public:
    void eat();
    void sleep();
    void fly();
};

class ostrich
{
public:
    void eat();
    void sleep();
};

那么,你知道上面的答案为什么是C了吗?

留言告诉我吧~

展开阅读全文

页面更新:2024-05-01

标签:鸵鸟   组合   子集   鸟类   生物学   函数   属性   也就是说   高度   因素   答案   错误   评价   类型   关系   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top