当前位置:  开发笔记 > 开发工具 > 正文

面向对象语言中的继承概念

如何解决《面向对象语言中的继承概念》经验,为你挑选了2个好方法。

我和我的一个朋友正在讨论多重继承与单继承,并且发现,我的面向对象设计的概念与他的完全不同.我主要是一个Obj-C程序员,因此我不会每天使用多重继承.他主要是Windows/PSP下的C++程序员,所以我们可能每天都使用不同的概念.

他实际上带来了以下主题:一个新的人类继承了什么?

我的观点是会有一个人类,新的存在会从该类中继承并从他的两个父母那里获得一些实例变量(例如他的DNA和其他).

他的观点是,孩子将继承他的两个父母,以获得他父母的方法.

而现在我有点困惑,因为老实说......继承对象?是否继承用于从包含特定对象组共有方法的类继承?这个论点真的让我困惑不已.



1> James Orr..:

为了正面比喻,新的人类从父母产生的一对受精卵中获得其特征,这些受精卵只是基于父母自己的DNA.

实际上,我认为这只是一个很糟糕的比喻.仅仅因为"遗产"是遗传学(或遗嘱和合同法?)的借用术语并不意味着它必须在概念上与软件开发1:1匹配,事实上它们只是表面上相似的概念.

例如,我父亲是律师,母亲是学校老师.我并非天生就有这两种技能(行为,方法......).



2> JeeBee..:

父母也是人类,是哺乳动物生物家族的一部分.你的想法对我来说似乎最合乎逻辑.

public class Human extends Mammal implements HunterGatherer, Speech, CognitiveThought {

    public Human(Human mother, Human father) {
        super(mother, father);
        // ...
    }

    // ...
}

当然我看不到:

public class Human extends Mother, Father { ... }

我看到母亲和父亲都参与了孩子的建设,这三个人都是人.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有