码迷,mamicode.com
首页 > Windows程序 > 详细

C#中面向对象编程机制之继承学习笔记

时间:2017-12-14 03:51:57      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:nim   anim   height   ase   line   调用   地址   异步   bar   

继承反应了类和类之间的关系。

世界上很多事物都是有共性的,共性的那一部分我们就抽象为基类,用于派生其它类,这样提高了代码的复用性,使得代码的结构清晰易读,而且易于代码的扩展和维护。

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#中面向对象编程机制之继承学习笔记

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23184.html






相关内容

C#中面向对象编程机制之继承学习笔记

标签:nim   anim   height   ase   line   调用   地址   异步   bar   

原文地址:http://www.cnblogs.com/paobuke/p/8035373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!