C#forUnity快速入门(连载6)-C#继承性-创新互联
C# for Unity 编程语言快速入门教程(连载6)---C#OOP编程之继承性
铁门关ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!C#的OOP编程之继承性,其本质就是通过继承让子类减少重复代码的编写,达到优化代码的作用。继承具体指“字段”与“方法”的继承,笔者梳理本阶段的知识点如下所示。
1: 概念(基类、派生类)
生活中有"龙生龙,凤生凤,老鼠天生会打洞",这说的是日常生活中的“继承"现象。类似情形“国民老公--"王思聪"生来就是超级富二代,而一般农民工的子女则相对穷好几个数量级。
我们C#语言中的继承,通过":"(冒号)来定义继承关系。(类似Java语言的extend关键字)
2: 使用base,this关键字
base 关键字代表父类对象,this关键字代表本类对象(this可以默认不写)。
3: 方法覆盖
使用 new 关键字显示声明发生方法覆盖。
4: 继承关系中构造函数的应用.
4.1>先执行父类的构造方法,再执行子类构造方法。
4.2>作为良好的编程习惯:
派生类的构造函数在执行初始化时,最好调用基类的构造函数。如果不在派生类显示调用一个基类构造函数,编译器会自动插入对基类的默认构造函数的调用,然后才调用执行派生类构造函数的代码。
5: 类的赋值
子类对象可以赋值给父类对象,但使用中只能使用父类定义的方法。
为了让初学者更好的学会继承的理论,现提供如下编程题目,供练习使用。
1: 已知交通工具类定义如下。
class Vehicle{
private int _length; //长度
private int _width; //宽度
public void Drive(){}; //驾驶方法
}
要求:(1)实现这个类;(2)定义并实现一个小车类car,是它的派生类,小车本身的私有属性有载人数,小车的方法有init(设置车轮数、重量和载人数),get passenger(获取载人数),print(打印车轮数、重量和载人数)。
2: 编写一个学生和教师的数据输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。
要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师数据操作类teacher的基类。
3: 定义如下类,编程完成要求的功能。
1) 定义一个名称为 Vehicle(车辆)类,
字段定义如下:
public string clour="while"; //颜色字段
protected float speed; //速度字段
方法如下:
public void accelerate(){.....}; //加速方法
2) 定义一个名称为 Car (机动车)类
字段如下:
private int price; //价格字段
方法如下:
public void decelerate(){.....}; //减速方法
3) 编程要求:
3.1) 把Vehicle 作为父类,Car 作为子类。
3.2) 在Car 类的main方法中调用显示如下字段: clour, speed, price
3.3) 在Car 类的main方法中调用显示方法: accelerate(), decelerate().
3.4) 在Car 类中定义新的字段
string clour="red"; //颜色字段
再次运行Car类,记下字段 clour 的运行结果有什么变化? 说明这种现象的原因?
3.5) 在Car 类中定义新的方法
public void accelerate(....); //加速方法
再次运行Car类,记下方法 accelerate()的运行结果有什么变化? 说明这种现象的原因?
3.6) 在Car 类的decelerate() 中使用this 关键字调用本类的accelerate()方法。
在Car 类的decelerate() 中使用base关键字调用父类的accelerate()方法。
运行程序,解释输出结果。
3.7) 分别在Vehicle 类,Car类中定义构造方法。
再次运行程序,解释输出结果。
3.8) 删除Vehicle 原无参构造函数,为 Vehicle 类定义有参构造方法 Vehicle(float mySpeed) ,
作用:在构造函数中给 speed 字段赋值。 请问如何处理,使得子类代码可以正常运行,
解释此现象。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:C#forUnity快速入门(连载6)-C#继承性-创新互联
文章起源:http://ybzwz.com/article/csoocg.html