面向对象

什么是面向过程,什么是面向对象?

面向的过程:一切事物的流程为核心,核心是“过程”,过程是解决问题的步骤,先干什么,然后干什么等等。

举例:一只大象,怎么把它装进冰箱

首先,打开冰箱门,然后把大象装进去,最后关闭冰箱门。这个就是面向过程的每步流程,是非常流程式的去完成某项功能。

面向过程优点:流程简单,编码简单,非常流水化          缺点:可拓展性差

面向对象:一切以对象为主体,然后围绕主体进行拓展操作。

举例:同样是把大象装进冰箱

面对对象,主体就是大象,让大象去打开冰箱门,然后大象自己装进冰箱,最后它再把门关上。

面对对象优点:可拓展性强    缺点:代码相对于面向过程比较复杂

面对对象的编写:

class car: #首先创建一个类,car

  def __init__(self,color,chepai,pailiang):      #创建这个类的对象,谁来访问,就把对象里面的值通过self这个方法的值赋给谁。对于会使用的参数进行封装

    self.color =color

    self.chepai = chepai

    self.pailiang = pailiang

  def run(self,speed)      #在类中创建一个函数进行执行某项功能,属于子类目也可以调用上一次的功能

    print('一辆车可以跑%s迈’ % speed)

c = car("red","粤b1514","2.06T")

c.run(100)                  #已经给类进行传输,同时也可以调用类下面的函数run 给它进行传输

执行的结果只有print:一辆车可以跑100迈。其他的值被封装了,可以进行调用

总结起来:

面向过程以及面向对象,没有说那个比较好,也没有说那个不好。对比起来的话,主要看自己想实现什么功能,

比较简单的功能可以利用面向对象也就是函数的方式去完成

如果功能比较复杂。参数也会比较多,为利于后续的拓展考虑通过面向对象来写的话会更加便利。

面向对象有三大特征:

1,封装:类里面最大的功能,运用最广泛的内容就是封装,将多个参数进行赋值给self,然后在函数体内可以循环进行调用,并且每次都可以给它赋予

新的内容,以便实现更多的功能

2,继承:上一层类的功能在下一层进行调用,然后在实现具体的功能函数,先从自己开始找,如果自己有的话,会执行自己函数内容,如果没有的话

就将调用上一层,父级的内容。同时又可能存在多个父级,根据这个子函数的亲疏度,一个个找,找到即返回相应内容。

3,多态:是一种非常抽象的事物,在python中无处不在都是多态性质的。理解起来就是同一事物的多种形态

原文地址:https://www.cnblogs.com/lowen107/p/9917448.html