面向对象编程三大特征
2016-04-16 21:41
302 查看
封装、继承、多态
1、封装
定义:将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部的信息,而是通过该类所提供的方法来实现对内部信息的操作与访问。
好处:模块化、信息隐藏、代码重用、插件化易于调试、具有安全性
2、继承
定义:一个对象直接使用另一个对象的属性和方法。通过继承可以实现代码的重用。
Java只能实现单继承,也就是一个类只能有一个父类
允许多层继承,即一个子类可以有一个父类,一个父类还可以有其他的父类
继承只能继承非私有的属性和方法
构造方法不能被继承
使用extends(扩展)关键字实现
子类实例化过程
首先先让父类进行实例化操作,然后子类再自己进行实例化操作。
子类实例化先调用父类的构造方法,如果父类没有默认构造方法,在子类的构造方法中必须显示的调用父类的构造方法。
3、多态
1、方法的重载与重写
2、对象的多态性
向上转型:将子类实例转化为父类实例
格式:父类 父类对象=子类实例
向下转型:将子类实例转化为子类实例
格式:子类 子类对象=(子类)父类实例
方法的重写(覆盖)
子类可以继承父类的方法,而不需要重新编写相同的方法,但有时子类不想原封不动的继承父类的方法,而是想作一定的修改。
特性:
1 方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2 子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类的异常)
3 子类方法的访问级别不能低于父类相应方法的访问级别
重载(overload)方法发生在同一个类中的不同方法,重写(override)方法是发生在子类和父类之间
1、封装
定义:将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部的信息,而是通过该类所提供的方法来实现对内部信息的操作与访问。
好处:模块化、信息隐藏、代码重用、插件化易于调试、具有安全性
2、继承
定义:一个对象直接使用另一个对象的属性和方法。通过继承可以实现代码的重用。
Java只能实现单继承,也就是一个类只能有一个父类
允许多层继承,即一个子类可以有一个父类,一个父类还可以有其他的父类
继承只能继承非私有的属性和方法
构造方法不能被继承
使用extends(扩展)关键字实现
子类实例化过程
首先先让父类进行实例化操作,然后子类再自己进行实例化操作。
子类实例化先调用父类的构造方法,如果父类没有默认构造方法,在子类的构造方法中必须显示的调用父类的构造方法。
3、多态
1、方法的重载与重写
2、对象的多态性
向上转型:将子类实例转化为父类实例
格式:父类 父类对象=子类实例
向下转型:将子类实例转化为子类实例
格式:子类 子类对象=(子类)父类实例
方法的重写(覆盖)
子类可以继承父类的方法,而不需要重新编写相同的方法,但有时子类不想原封不动的继承父类的方法,而是想作一定的修改。
特性:
1 方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2 子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类的异常)
3 子类方法的访问级别不能低于父类相应方法的访问级别
重载(overload)方法发生在同一个类中的不同方法,重写(override)方法是发生在子类和父类之间
相关文章推荐
- 智能防火墙的技术特征
- Lua面向对象编程学习笔记
- ES6中非常实用的新特性介绍
- AngularJS 2.0新特性有哪些
- JavaScript中关联原型链属性特性
- 深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
- 每天一篇javascript学习小结(面向对象编程)
- Java面向对象的三大特征
- 面向对象编程,中
- 面向对象编程 下
- Python 第四章 面向对象编程
- “黑心”公司15大特征,你们公司占几项
- 面向对象编程学习小结之——javascript中的继承实现
- 数组(主要介绍关于数组的一些常用算法)
- jQuery源码 框架分析
- 深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
- 深入理解JavaScript系列(8):S.O.L.I.D五大原则之里氏替换原则LSP
- LINUX使用共享对象
- OOP面向对象编程
- 面向对象程序设计(OOP)的六大原则