概念
以对象作为基本程序的结构单位,对象是核心,而对象是程序运行的基本成分。
对象=属性(静态)+方法(动态);
面向过程的程序设计VS面向对象的程序设计
面向过程的程序设计特点核心是过程(流水线式思维)。
即解决问题的步骤。
优点:降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。
缺点:仅仅用来解决(一套流水线或流程)一个问题,代码牵一发而动全身。
应用场景:一旦完成基本很少改变的场景。
面向对象的程序设计特点
核心是对象(世间万物存在的或想象的人、事、物等等)。
即针对所处问题的对象。
两个人相亲,对这一事件而言,两个人就是对象。而他们自身的特征(外貌、身体状况等)和资源(财力、人脉等)分别对应对象的属性和方法。
优点:扩展性。对某一个对象单独修改,可以导致整个体系改变。
缺点:可控性差。无法很精准的预测问题的处理流程与结果。
应用场景:需求经常变化的软件,一般需求的变化都集中在用户层。
对相亲事件来说,结果完全由两个人(对象)的相互交往决定的,无法预测结果会怎样(可控性差);但是改变一个人的特征(对象属性)和资源(对象方法),有可能改变相亲的结果(扩展性)。
面向对象程序设计的特性
有继承、多态、封装三大特性。
继承 是一种创建新类的方式,在python中&