- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
T13 面向对象_继承
No.1 继承的概念 继承的优点 * 继承的优点 代码的可重用性 父类的属性和方法可用于子类 设计应用程序变得更加简单 可以轻松地自定义子类 继承的传递性 * 汽车 双层 单层 小型卡车 重型卡车 同样具有汽车的特征 继承的传递性 卡车 公共汽车 还可以派生更多的类型 继承的传递性 添加一个微型卡车类 * public class SmallTruck : Truck { protected void smallTruckRun() { Console.WriteLine(微型卡车在行驶!); } static void Main(string[] args) { SmallTruck smalltruck = new SmallTruck(); smalltruck.vehicleRun(); smalltruck.truckRun(); smalltruck.smallTruckRun(); } } public class Truck : Vehicle 继承关系 父类的父类成员 父类的成员 传递性 继承单根性 * public class CharmingStudent : SportsMan, Musician 编译错误 C#中子类不能继承多个父类 CharmingStudent 运动员 音乐家 某类学员 是否可以这样描述? 具有两种人的特征 目录 * 3. 继承中构造函数的应用 2. 使用BASE,THIS 关键字 1. 概念 Base、This关键字 关键字base的作用 关键字this的作用 调用父类的属性和方法 -- 引用类的当前实例 调用父类的构造函数 -- 调用当前实例的成员方法, 变量,属性,字段等 * public void SayHi() { string message = string.Format( 大家好,我是{0} 同学,今年{1} 岁了,我喜欢{2}!, base.Name, base.Age, this.hobby); Console.WriteLine(message); } 调用父类的属性 public Student(string name, Genders gender, int age, string hobby, int popularity) : base(name,age,gender) { //学生类扩展的属性 this.Hobby = hobby; this.Popularity = popularity; } this.Name = name; this.Age = age; this.Gender = gender; 调用父类的构造函数 protected访问修饰符 * protected访问修饰符允许子类访问 protected访问修饰符不允许其他非子类访问 不可以 可以 可以 protected 不可以 不可以 可以 private 可以 可以 可以 public 其他类 子类 类内部 父类成员 如果父类中的某个成员只允许其子类访问 public修饰 所有类都可以访问 private修饰 子类无法访问 小结 控制台程序实现汽车与卡车的继承 汽车类Vehicle有一个方法vehicleRun () 内容可以打印一句话 卡车类Truck有一个方法truckRun()内容可以打印一句话 实例化一个卡车调用汽车和卡车的方法 成员要用protected修饰 * 汽车(Vehicle) public class Vehicle { protected void vehicleRun() { Console.WriteLine(汽车在行驶!); } } public class Truck : Vehicle { protected void truckRun() { Console.WriteLine(卡车在行驶!); } } static void Main(string[] args) { Truck truck = new Truck(); truck.truckRun(); truck.vehicleRun(); } 卡车(Truck) 目录 * 3.
文档评论(0)