面向对象

235 阅读2分钟

宏观角度:为人对各种具体物体抽象后的一个概念,人们每天都要接触各种各样的对象,如手机就是一个对象。直接拿来用就好了,不用关心它是怎么做出来的,会用就行了。一切事物皆对象,将现实事物抽象出来,通过继承,实现,组合的方式把万事万物都给容纳了。

微观角度:面向对象的底层其实还是面向过程,把面向过程按特点、功能划分抽象出其共性形成类,隐藏具体实现,方便我们使用的就是面向对象了。

多态

对象多态

父类方法被子类方法重写,父类引用指向子类,同一个操作不同的子类对象,有不同的行为方法

三个必要条件

  • 继承父类
  • 重写父类方法
  • 父类的引用指向子类

特点

  • 动态绑定
  • 执行期间判断引用的实际对象,根据实际对象调用其方法

方法重载

方法使用同一个名字,但方法的参数不同,完成的功能也不同。

封装

是指隐藏对象的属性和功能实现细节,仅对外界提供公共访问方式让外界使用对象的功能

优点

  • 高内聚,低耦合
  • 类内部的结构可以自由修改。
  • 可以对成员变量进行更精确的控制。
  • 隐藏信息实现细节

继承

子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

  • 子类拥有父类非Private的属性和方法
  • 子类可以重新父类方法
  • 子类还可以有自己的属性和方法,拥有扩展性

缺点:提高了类之间的耦合性 优点:提高类代码的复用性

延伸:设计模式,六大原则 www.jianshu.com/p/7a5b0043b… blog.csdn.net/sugar_no1/a…