Table of Contents
概述
面向对象的三大特特点是"封装、"多态"、"继承",很多人认为组合,也应该是其中一个重要的特点,这样的话就是四大特点。。面向对象的五大原则分别是是"单一职责原则"、"开放封闭原则"、"里氏替换原则"、"依赖倒置原则"、"接口分离原则"。
面向对象的特点
封装比较好理解,就是将属于一个抽象的方法属性特点等封装到一个类里面。
多态是我们比较熟悉的另一个重要技术,关于多态的详细介绍可以参考博客:[java] 反射和多态实现原理详解以及对比
继承
继承是一个需要谨慎选择的技术,原因在于继承是一种比较强的耦合关系。如何判断什么时候应该使用继承,只需要把握如下的规则:
到底是is a 还是has a? 所谓is a就是指的某一个抽象是否可以描述为是另一种抽象,例如,轿车是车,这就是is a的一个例子。而has a指的就是某个抽象不是某一种抽象但包含另一种抽象,例如,轮胎不是车,但车包含轮胎,这就是has a的一个例子。
值得指出的是,有的时候is a是不够的,例如App