C#继承小结——面向对象编程的三大机制之一
继承反应了类和类之间的关系。
世界上很多事物都是有共性的,共性的那一部分我们就抽象为基类,用于派生其它类,这样提高了代码的复用性,使得代码的结构清晰易读,而且易于代码的扩展和维护。
C#的继承只能继承自一个基类,这一点不同于C++的继承。
C#的继承具有传递性,即B继承自A,C继承自B,则C具有A的所有特性。
C#的继承隐式为public的。
假如不在派生类构造器中显示调用一个基类构造器,编译器会自动插入对基类的默认构造器的一个调用,然后才会执行派生类构造器中的代码, 如果基类没有默认的构造器,会造成编译错误。
举例:动物的共性:有嘴巴,有眼睛,有鼻子,可以移动,能够吃东西
所以定义基类 (包含动物的共性)
public class Animal {
......
}
再定义具体的动物的时候就可以继承自基类Animal,不用再重新定义这些基本的特征,只定义自己独有的特性就好。
例如:Dog
public class Dog:Animal
{
//编译器会自动插入对基类的默认构造器的一个调用,然后才会执行派生类构造器中的代码
public string Bark;//狗叫声
}
public class Dog : Animal {
//在派生类构造器中显示调用一个基类构造器
public Dog()
: base () {
}
public string Bark;
}
注意:
可以把一个派生类的值赋给基类,但不能把一个基类的值赋给派生类,因为基类不能转换为派生类 ,基类中只包含了派生类的一部分特性。
Animal animal=new Dog(); 正确的
Dog dog=new Animal(); 错误
C#
C#继承小结——面向对象编程的三大机制之一
posted @ 2012-01-12 15:20 绿茶叶 阅读(441) | 评论 (0) 编辑
C# 委托、事件 学习
posted @ 2012-01-10 11:11 绿茶叶 阅读(15) | 评论 (0) 编辑
Timer(System.Timers) 和 DispatcherTimer
posted @ 2012-01-05 14:37 绿茶叶 阅读(12) | 评论 (0) 编辑
C#线程同步——lock,Monitor,Mutex(摘录)
posted @ 2010-12-29 17:13 绿茶叶 阅读(86) | 评论 (0) 编辑
C#文件操作
posted @ 2010-12-13 17:47 绿茶叶 阅读(40) | 评论 (1) 编辑
C# 数据类型
posted @ 2010-11-30 15:30 绿茶叶 阅读(98) | 评论 (0) 编辑
C# 对象复制
posted @ 2010-11-30 14:55 绿茶叶 阅读(57) | 评论 (0) 编辑
C#中is 和 as 操作符
posted @ 2010-11-29 17:00 绿茶叶 阅读(14) | 评论 (0) 编辑
C#文件路径获取函数和文件名字获取函数
posted @ 2010-11-19 17:26 绿茶叶 阅读(74) | 评论 (0) 编辑
new,virtual,override,interface,delegate,event-------------C#——方法实现总结
posted @ 2010-09-28 15:09 绿茶叶 阅读(81) | 评论 (0) 编辑
用C#实现字符串的加密解密操作
posted @ 2010-09-09 17:48 绿茶叶 阅读(100) | 评论 (0) 编辑
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于C#继承小结——面向对象编程的三大机制之一的详细内容...