首页 > 代码库 > java学习之面向对象的四个特性
java学习之面向对象的四个特性
对象:由行为、状态和唯一标志组成。
一 抽象
抽象是忽略一个主题中与当前目标无关的方面,把现实世界中的概念转换为对象,可以是表示数据的VO对象或抽象类,也可以是表示一类行为的接口。有利于从众多变化的状态中抽离出不变的东西。有利于使用继承来构造类的体系,实现多态,使用模板和工厂模式方法来实现对业务过程的抽象。抽象是概念建模和业务流程建模很重要的工具,是面向对象体系的基石,而不是一堆杂乱、混乱、重复、散沙般的、关系错综复杂的类。
二 继承
是一种连结类的层次模型,并且允许和鼓励类的重用,提供了一种明确表示共性的方法。
继承意味着能声明一个类型,而且能继承父类中的所有操作和数据,同事还有机会声明自己的新方法以改进、具体化、代替或者扩展父类中的方法
使用父类为应用领域建立层次模型,提供代码重用并允许定制。
防止继承:利用final声明类或方法,意味不能被修改,当一个类被声明为final时,只有方法自动被设为final,而字段不会。final有两个优点:1、安全 2高效
类型转换:1、必须在继承体系内进行
2、转换之前,应先使用instanceof进行检验。
super:不是一个对对象的引用,而是指向编译器调用超类的专用关键字:
1、调用超类方法 2、调用超类的构造器。
三、多态
一个对象变量可以指向多种实际类型的现象。
动态绑定:一个对象在运行时自动选择正确的方法进行调用的现象
过程:
1、编译器检查对象的声明类型和方法(虚拟机预先为每个类计算一个方法表)
2、重载解析:编译器检查方法调用中提供的方法参数类型(方法原型:名字和参数列表,返回值不是原型的一部分)
3、静态绑定:如果方法是private,static,final的,或者是一个构造器
4、动态绑定:虚拟机必须调用对象变量所指向的对象的实际类型和匹配的方法版本。
四、封装
把数据和行为结合在一个包中,并对对象的使用者隐藏数据有关的实现过程,封装赋予对象“黑盒”特性。
java学习之面向对象的四个特性