面向过程:面向过程的思想主要是以结果为导向,注重点在于结果的实现,不太关心结果实现的方式。- 黑猫白猫能抓到老鼠就是好猫。
面向对象:面向对象的思想主要是以对象个体为导向,注重点在于每个对象个体的设计与实现。- 授人以鱼不如授人以渔。
我开车 我走路 我抢银行 .....
面向对象的三大基本特征
封装:将该暴露的暴露,该隐藏的隐藏 (类、方法 + 包、访问限定符)
继承:子类可以继承父类,同时拥有父类的部分属性和方法。继承是代码复用的重要手段。注意:组合也是代码复用的重要手段之一。
什么时候用继承,什么时候用组合?
如果两个类之间的关系符合“is-a(是一个)”的关系,就应该用继承,'苹果'是一个'水果'
如果两个类之间的关系符合“has-a(有一个)”的关系,就应该用组合,'电脑'有一个'cpu'
多态:一个对象有两种形态,编程时类型和运行时类型,一旦这两种类型不相同时,就发生了所谓的多态。
A obj = new A();
父类 obj = new 子类();