OOP核心思想:封装,继承,多态。算法
理解:编程
对象是由数据和允许的操做组成的封装体,与客观实体有直接对应关系,一个对象类定义了具备类似性质的一组对象。而每继承性是对具备层次关系的类的属性和操做进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。数据结构
oop的基本思想:把组件的实现和接口分开,而且让组件具备多态性。函数
oop概念呢:oop
OOP是九十年代才流行的一种软件编程方法。它强调对象的“抽象”、“封装”、“继承”、“多态”。咱们讲程序设计是由“数据结构”+“算法”组成的。从宏观的角度讲,OOP下的对象是以编程为中心的,是面向程序的对象。咱们今天要讲的OOD是面向信息的对象,是以用户信息为中心的。prototype
对象的产生:设计
1、是以原型(prototype)对象为基础产生新的对象。对象
2、是以类(class)为基础产生新对象。继承
封装
封装:让抽象的事物保护自身的状态,防止非其余事物对其进行错误的状态改变操做。咱们抽象完一个事物后,可能在特定的条件下,其自己的状态须要改变,可是这个改变并容许其余的事物来进行,这样的改变只容许这个事物认同的操做域来进行,能够是该事物自己,也能够是它信任的其余事物。这样咱们就能对咱们抽象完的每一个事物进行自身数据的保护接口
继承
继承:让抽象出来的事物具备本应该具备的联系。咱们能用类来描叙一个抽象的事物,同时能用对象来描叙具体的事物,可是这些事物都是独立的,彼此之间没有应该有的联系,这样的孤立设计并不符合现实逻辑,让事物之间的联系获得描叙,咱们就须要继承,例如:发明自行车的人并非一开始就发明了多人自行车,这些都是从双轮自行车演变和发展而来,可是他们都有共同的特色,有轮子,有车架子,等等。让咱们用继承的关系把这两个现实的抽象联系起来,这样咱们就能设计出不孤立的类,而是和其余类有联系的类。
多态多态:用一种解决方案来解决对一类问题,对于不一样的事物解决途径和结果不一样。在C++中实现多态性有三种方法,分别是:虚函数,函数重载和运算符重载。这三种方法你们均可以看到咱们解决问题的初衷是同样的,都是利用同名函数,同名的运算符号,这抽象出来也就是解决问题的方法,可是对于不一样的事物的反应倒是不一样的,例如:当用一个getPadNumber()方法来获得普通自行车和双人自行车的坐垫数量的时候,返回的结果是一个和两个,这就是具体的事物返回的结果不一样。