论面向对象基础

大话设计模式 之面向对象基础读后感

常说的OO是面向对象。面向对象编程,英文叫 Object Oriented Programming


何为对象? 对象是一个自包含的实体,用一组可识别的特性和行为来标识


何为类? 类就是具有相同的属性和功能的对象的抽象的集合。
  (PS:谁拥有数据,谁就提供处理数据的方法。比如人开门,开门的方法是门的)
  

--------------------------------------------------------------
     论封装
 
每个对象都包含他能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。


封装的好处:
 1:良好的封装能够减少耦合。
 2:类内部的实现可以自由的修改
 3:类具有清洗的对外接口
 
--------------------------------


   论继承
   
  对象的继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为 “B是A”,则表明B可以继承A。如猫是哺乳动物。实际上,继承者还可以理解为是对被继承者的特殊化,因为它除了具备被继承者的特性外,还具备自己特有的个性。
  
  继承定义了类如何相互关联,共享特性。继承的工作方式是,定义父类和子类,或者叫做基类和派生类,其中子类继承父类的所有特性。子类不但继承了父类的所有特性,还可以定义行的特性。
  
  继承的三句话(如果子类继承父类)
  1: 子类拥有父类非private的属性和功能。
  2: 子类可以扩展父类没有的属性和功能
  3: 子类还可以以自己的方式实现父类的功能
  
继承的缺点:父类变,子类不得不变。继承会破坏包装,父类的实现细节暴露给子类,增大了两个类之间的耦合性
  
  
  -----------------------------------------------------------------
  论多态
  
多态表示不同的对象可以执行相同的动作,但是要通过他们自己的实现代码来执行。
注意点:
1:子类以父类的身份出现
2:子类在工作时以自己的方式来实现
3:子类以父类的身份出现时,子类特有的属性和方法不可以使用
  
原文地址:https://www.cnblogs.com/fangyuandoit/p/13713867.html