java基础-面向对象
面向对象三大特性
-
封装
-
利用数据类型将数据和数据对应的操作封装在一起使其构成一个不可分割的整体,数据被保护在抽象数据类型的内部。尽可能的隐藏内部的细节,只保留一些对外接口使之与外部联系。用户无需知道对象的内部细节,但可以通过提供的接口来访问对象
-
优点
- 减少耦合,可以独立的开发、测试、优化、使用、理解、修改
- 减轻维护的负担,更容易被程序员理解,并在调试时不会影响其他模块
- 有效的调节性能,可以通过剖析确定那些模块影响了系统的性能
- 提高软件的可用性
- 降低了构建大型系统的风险,即使整个系统不可用但是这些独立的模块依然式可用的
-
-
继承
- 继承实现了IS-A的关系,例如cat is a animal ,因此cat可以继承animal从而获得animal的非private方法。
- 继承应该遵循里氏替换原则,子类的对象必须能够替换掉所有的父类对象
- 父类引用指向子类对象称为向上转型
-
多态
-
多态分为编译时多态和运行时多态
- 编译时多态指的是方法的重载
- 运行时多平台指程序中定义的对象引用所指向的具体类型只有在运行时才确定
-
运行时多态有三个条件
- 继承
- 覆盖(重写)
- 向上转型
-