黑马程序员技术交流社区
标题:
刚刚学类的继承
[打印本页]
作者:
王震
时间:
2013-6-5 22:10
标题:
刚刚学类的继承
我想问一下,一个类可不可以同时继承多个类啊?
作者:
zpzhangwenhan
时间:
2013-6-5 22:18
一个类只能继承一个类,但可以实现(可以理解为继承)多个接口interface,这是C#的硬性规定
其实一个类继承多个类没有意义的,仔细想想,类用来描述一件事物,同时继承多个类的话
就造成了混乱。 虽然不能继承多个。但可以隔代继承,因为所有的类都继承自Object类,同理。
作者:
无__畏
时间:
2013-6-5 22:21
本帖最后由 无__畏 于 2013-6-5 22:26 编辑
一个类只能继承一个基类,但可以实现多个接口!
简单举例...
有两个接口,它约束了动物的行为 如接口:I叫,I跑
有两个基类:动物,人类
两个类:猫,张三
猫:动物,I叫,I跑 //猫属于动物,他继承了动物就不能继承人类,但它可以叫也可以跑
张三:人类,I叫,I跑 //张三属于人类,也可以叫也可以跑
作者:
李奔
时间:
2013-6-5 22:25
在C#中不可以,类只能单继承,但可以继承多个接口。
作者:
李晶晶
时间:
2013-6-6 10:13
不可以,但可以同时实现多个接口,藤椅同学 回答的形象而生动,我赞同。。。。
作者:
一直在努力
时间:
2013-6-6 12:56
docnet中不能以。。但可以通过接口来实现
作者:
风雪再现
时间:
2013-6-6 15:19
一个类只能直接继承一个类,但是一个类其实间接继承了多个类,比如:中国人类继承自人类,北京人类继承自中国人类,但是北京人类虽然没有直接继承人类,可却有人类的所有公有内容,相当于间接继承;如果要实现多继承,只能用接口;
也就是说一个类可以继承一个父类,同时实现多个接口
public class class1:类1,接口1,接口2,接口3......
作者:
轮回
时间:
2013-6-6 15:22
1、继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。
2、派生类(子类)应当是对基类(父类)的扩展。派生类可以添加新成员,但不能除去已经继承的成员的定义。
3、构造函数和析构函数不能被继承。除此以外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类成员的访问方式只能决定派生类能否访问它们。
4、派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。但这并不因为这派生类删除了这些成员,只是不能再访问这些成员。(这点需要注意的是,如果是属性或者方法同名,但是签名不同,那就不是覆写,而是重载了)。
5、类可以定义虚方法、虚属性以及虚索引指示器,它的派生类能够重载这些成员,从而实现类可以展示出多态性。
6、派生类只能从一个类中继承,可以通过接口实现多重继承。
作者:
关关雎鸠
时间:
2013-6-6 17:14
举个例子:男人、女人你把他们看成两个子类,他们继承自人类(父类);藏獒、狼狗、沙皮狗、土狗子继承自狗类(父类)。可以看出他们只能属于某一类不可能既属于人类又属于狗类是吧?
作者:
ljh4282158
时间:
2013-6-10 11:54
类不能多继承。接口可以
作者:
popoluno
时间:
2013-6-10 12:45
一个类只能继承一个类,但可以通过多个接口interface实现
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2