面向对象高级特性一.ppt
《面向对象高级特性一.ppt》由会员分享,可在线阅读,更多相关《面向对象高级特性一.ppt(23页珍藏版)》请在三一文库上搜索。
1、面向对象高级特性(一),内容简介,封装 继承 多态,什么是封装,java语言中,对象就是对一组变量和相关方法的封装,其中变量表明了对象的状态,方法表明了对象具有的行为。 通过对象的封装,实现了模块化和信息隐藏。 通过对类的成员施以一定的访问权限,实现了类中成员的信息隐藏。,继承性是面向对象程序设计语言的另一基本特征,通过继承可以实现代码的复用。继承而得到的类为子类,被继承的类为父类(超类),父类包括所有直接或间接被继承的类。 子类可继承父类中的变量及方法,也可定义其自身特有的变量及方法。 Java中不支持多重继承。,什么是继承,如何实现继承,1) 通过在类的声明中加入extends子句来创建一
2、个类的子类: class SubClass extends SuperClass 2) 如果缺省extends子句,则该类为java.lang.Object的子类,Object类是所有类的父类. 3) Java是单继承: (下面错误继承) extends SuperClassA,SuperClassB,一个很好的经验:“B是一个A吗?” 如果是则让B做A的子类.,常犯的错误A有一个B吗? 例如让汽车轮子成为汽车的子类是错误的,何时选择继承,继承性,子类可继承父类方法和变量. 同一个包中 不同包中的子类 private default protected public ,变量隐藏及方法重写原则,
3、变量隐藏原则: 子类中变量名与继承自父类的变量名相同时,则继承自父类的变量将被隐藏。 2) 方法重写原则: a) 重写后的方法不能比被重写的方法有更严格的访问权限(可以相同)。 b) 改写后的方法不能比重写的方法产生更多的例外。,变量隐藏示例,class Car int color_number; int door_number=2; int speed=100; public void push_break() speed = 0; ,class Trash_Car extends Car double amount; String color_number=“四个”; int speed=
4、300; public void fill_trash() ,变量隐藏即指在子类中重新定义父类中 已有的变量;例:,方法重写示例,class Car int color_number; int door_number; int speed; public void push_break() speed = 0; ,class Trash_Car extends Car double amount; public void fill_trash() public void push_break() speed = speed 10; ,方法重写即指在子类中重新定义父类中 已有的方法;例:,多层次
5、继承,Java 不支持多继承,可多层次继承。,构造方法调用,在类层次结构中,构造方法以派生的顺序调用,从超类(父类)到子类,如右图类的层次结构;创建 对象 : new SonClass3(); 则构造方法调用顺序为: Object SonClass1 SonClass2 SonClass3,super关建字作用,调用构造方法: super()必须是子类构造函数第一个执行的语句,如果super()没有被用到,每个超类的默认的或无参数的构造函数将被执行。 2) 调用被隐藏变量及方法: 可通过super关键字调用被隐藏的父类中的变量及方法。,super关建字使用格式,1) 访问父类被隐藏的成员变量,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 高级 特性
链接地址:https://www.31doc.com/p-2603345.html