面向对象(Object Oriented)是一种编程软件开发方法,是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。因此,Java也是一门面向对象语言,我们学Java面向对象的时候理所应当知道Java面向对象的3个要点。
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点:性能比面向过程低
隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。
继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承可以提高代码复用性。继承是多态的前提。
子类拥有父类非 private 的属性和方法。
子类可以拥有自己属性和方法,即子类可以对父类进行扩展。
子类可以用自己的方式实现父类的方法。
父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。
方法重载(overload)实现的是编译时的多态性(也称为前绑定)
方法重写(override)实现的是运行时的多态性(也称为后绑定)。
类的功能要单一
一个模块对于拓展是开放的,对于修改是封闭的
子类可以替换父类做父类能做的事情。
高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。
设计时采用多个与特定客户类有关的接口比采用一个通用的接口要好。
提枪策马乘胜追击04-21 20:01
代码小兵92504-17 16:07
代码小兵98804-25 13:57
杨晶珍05-11 14:54