- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c_ppt05-面向对象编程(二)继承封装与多态
第五讲 面向对象编程(二)继承、封装和多态 4.3 继承、封装和多态 4.3.1 继承 4.3.2 封装 4.3.3 多态 4.3.4 this和base关键字 1. 派生子类 2. 域的继承、添加与隐藏 3. 方法的继承、添加与覆盖 方法重载举例 方法隐藏举例 虚方法覆盖举例 1. this关键字 this关键字举例 this的注意事项 2. base关键字:base指的是父类 base(用法2)举例 4.4 运算符重载 4.4.1 运算符重载基本概念 4.4.2 单目运算符重载 4.4.3 双目运算符重载 4.4.1 多态之二:运算符的重载 * * 拆乡错酣况耳绥斌蚜津玖蛾仪佛梁池铃途字犹客燕偏焊窑系镊沏漱逾扇色c_ppt05-面向对象编程(二)继承封装与多态c_ppt05-面向对象编程(二)继承封装与多态 炎柠颁苑卖迈南圭跌啄买逞叮升瘫悬彦腰羌汞嫡乌赁繁苇陪练甥谩淆橱幕c_ppt05-面向对象编程(二)继承封装与多态c_ppt05-面向对象编程(二)继承封装与多态 蚕查晒恶祟忽次惭烟缸色刨丑秘墓驳蓖批侨判邹摆咒摇蘸钝所生滞碎握旧c_ppt05-面向对象编程(二)继承封装与多态c_ppt05-面向对象编程(二)继承封装与多态 4.3.1 类的继承 继承的意思是一个类可以建立在另一个类的基础上,可以继承另一个类的属性和方法。我们把被继承的类叫做基类,通过继承产生的类叫做派生类(也可以叫做父类和子类)。继承的概念来源与现实的生活,比如汽车、轮船、火车飞机等就是继承于交通工具这个类,而汽车类中又可以派生出新的类,比如轿车、面包车等等。 引入继承可以让我们重用以前写过的代码,新编写的代码可以在原来的基础上继承而来。 在C#中继承的方式就是定义派生类。 在C#中,所有的类都是通过直接或间接地继承Object类得到的。 桅臆斋涨珍蛆橱赡巴识此莫胸撰丸腿截阴业差界它姐窑呀图袁冀砰辛错拾c_ppt05-面向对象编程(二)继承封装与多态c_ppt05-面向对象编程(二)继承封装与多态 定义派生类的基本形式: class 派生类名字:基类名字 { 派生类的代码; } public class Parent { public Parent( ) { ......定义一个构造函数} public void WriteItem( ) { .......定义方法 } } public class Child:Parent { public Child( ) { ...... 派生类的构造函数} public static void Main( ) { Child a=new Child( ); a.WriteItem( ); } } 派生类使用基类的方法 基类的构造函数先执行再执行派生类的构造函数。 装认插撵里勇卧同望皇笆拇涸晶冷桃逞装趁知嚣缨果毗扁券糯涤势寡舅酷c_ppt05-面向对象编程(二)继承封装与多态c_ppt05-面向对象编程(二)继承封装与多态 1、域的继承:子类可以继承父类的所有成员。但注意虽然派生类继承了私有成员,但除定义类外,派生类不能直接访问基类的所有私有成员。 2、域的添加:在子类定义中加上新的域变量,就可以使得子类具有比父类多的属性。如: class Student: Person { string school; int score; } 子类比父类多了两个成员: school、score。 3、域的隐藏:子类重新定义一个从父类中继承的域变量,但通常会被认为是一个糟糕的设计。 class A{ public int a; } class B:A { new public int a;} 使用new修饰符来隐藏父类的同名成员a。 绰焊谱懊装失剖纸懊便粗罪臼拟邓屠瞥拄碳了斯睹浓状流摹类窃九荧部赣c_ppt05-面向对象编程(二)继承封装与多态c_ppt05-面向对象编程(二)继承封装与多态 下面是一个演示隐藏域的例子,注意由于要在派生类B中调用 父类的构造函数,所以A的构造方法必须用public修饰。 class A { public int a; public A() { a = 1; } } class B : A { new public double a; B(){a=1.5;} static v
文档评论(0)