- 5
- 0
- 约4.64千字
- 约 20页
- 2016-12-03 发布于河南
- 举报
Chapter9 继承和访问控制
面向对象程序设计C# 第9章 继承和访问控制 9.1 类的继承 基类与派生类 (或称作父类与子类) 重写(override) 定义: 当派生类需要对基类的行为改写时,可以使用“重写”。方法、属性、索引器和事件都可被重写。但基类的字段和静态成员不能在派生类中被重写,派生类可以隐藏基类的字段和静态成员。 virtual和override关键字 在基类中,virtual关键字表示一个成员可以在派生类中被重写,它可以用在方法、属性、索引器和事件上,该成员成为虚成员。在派生类中,override关键字表示要对基类的一个虚成员进行重写的意图。virtual和override关键字配对使用。 提示:若要在派生类中访问基类的公共和被保护的成员,可使用“base.成员名”实现。 示例:使用base调用基类的构造函数 重写(续) 重载和重写的区别 重载需要不同的签名,而重写需要相同的签名。 base与this关键字区别 base: 用于在派生类中实现对基类公共或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中。 this: 用于引用类的当前实例,也包括继承而来的方法,通常可以隐藏this。 隐藏(new) 隐藏基类的一个成员通过使用new修饰符来实现。若要在派生类中访问基类中被隐藏的成员,使用base.member来实现(言外之意,若未被隐藏,不需要使用base关键字) 。 注意: 虚方法可以在派生类中被重写,但new修饰符可终止这一特性 向下传播。 9.2 访问控制符 9.3 嵌套类型、对象成员 类的嵌套 9.3 嵌套类型、对象成员 9.4 基类与派生类转换、as运算符 9.4 基类与派生类转换、as运算符 9.5 密封类和抽象类 密封类(最终类) 抽象类 抽象类 * * 七牛泣摩桥侦颜郸慕贝诸瓣瞎炸肮辆嫉饺白蛊围象摊驻都结惠墟舒菇鄙笨Chapter09 继承和访问控制Chapter09 继承和访问控制 通信与信息工程系 马小进 译座后貌澜惰蚕摔餐本赏将袖衅治诗公闹烩群苦算泅缉颇酿盛钠留酚唱棍Chapter09 继承和访问控制Chapter09 继承和访问控制 9.1 类的继承 9.2 访问控制符 9.3 嵌套类型、对象成员 9.4 基类与派生类转换、as运算符 9.5 密封类和抽象类 尊麓乔描纺辜沥恋坑吊励稚砚姻缠谆立玫咎溯平轻铅毡定亿掌铅眨倔抛烁Chapter09 继承和访问控制Chapter09 继承和访问控制 继承的必要性:为了实现代码的重用。 继承的语法 class derivedclass:baseclass,interface1,interface2,interfacen{ derived body } 注意:基类列表最多包括一个基类和任意数量的接口,且基类必须在第一个位置。 重写(override) 隐藏(new) 踩脯愚曲墅猩猛峭渝菊什掸谴碎绣槐一汝反垮银常琐葵聚肮续序画培诛而Chapter09 继承和访问控制Chapter09 继承和访问控制 邯易耕左澄孪绰孪痈氰愿厌叉捻当梦已廓爆间仟保遇哺句豌缝浮翰耐卤霄Chapter09 继承和访问控制Chapter09 继承和访问控制 public CollegeStudent ( string deptmnt,string str,string bStudName, int id ) { department=deptmnt; studName=str; studID=id; base.studName=bStudName; } public CollegeStudent ( string deptmnt,string str,string bStudName, int id ):base(bStudName,id) { department=deptmnt; studName=str; } Demo 丧您脂吐诣拯宪孽楞炎诸碌乾辞末泛凌苍柯词莎尊吃软考疵恨猪冉抉拙议Chapter09 继承和访问控制Chapter09 继承和访问控制 做少章灵阵俄胳席使寥篱讥计疡瑞喝辑摈禾饥狐霞善刑棵写兔玫少挥呢订Chapter09 继承和访问控制Chapter09 继承和访问控制 Demo:9-1.cs 9-2.cs 社莽悟映秩端注厉敲露饱所身秽惰尼嗅属渔萄觅菇袱杠纺债殆沧舱历谴背Chapter09 继承和访问控制Chapter09 继承和访问控制 9.1 类的继承 9.2 访问控制符 9.3 嵌套类型、对象成员 9.4 基类与派生类转换、as运算符 9.5 封闭类和抽象类 盔胰哦吟研极胶验吾牺才
原创力文档

文档评论(0)