面向对象三大特性
封装 继承 多态
逻辑顺序
从逻辑的顺序来看,首先是封装,其次是继承,最后是多态。
论证
多态表现为子类重写父类的方法,该方法在子类中有不同的实现细节,因此多态的基础为继承
继承表现为子类拥有父类的属性和方法,而属性和方法则是封装所做的抽象的结果
封装
封装则是对具体事物的抽象,将事物抽象成属性和行为。
程序员功力的一个方面体现为封装的成熟度,换而言之,就是抽象的程度的深浅。对事物的理解越是深刻,则抽象的程度越是精深,封装的越是成熟。
毕加索的《斗牛》可以清晰的体现抽象的程度变化
这里使用演绎推理中的的三段论来表达:
斗牛都是公牛
公牛都有角
斗牛都有角
则抽象出斗牛角的属性,以此类推,可以抽象出公牛的属性。
斗牛 {
头
角
躯干
四条腿
尾巴
}