初学 Python 笔记【十八】面向过程 和 面向对象

过程和函数

过程是早期的一个编程概念,类似于函数,只能执行,但是没有返回值。

函数不仅能执行,还可以返回结果。

面向过程(怎么做)

  1. 把完成某一个需求的所有步骤,从头到尾逐步实现。
  2. 根据开发需求,将某些功能独立的代码封装成一个又一个函数。
  3. 最后完成的代码即使顺序的调用不同的函数。

【特点】

  • 注重步骤与过程,不注重职责分工
  • 如果需求复杂,代码会变得很复杂
  • 开发复杂项目,没有固定的套路,开发难度大

面向对象(谁来做)

  1. 在完成某一个需求前,首先确定职责,即要做的事情。
  2. 根据职责确定不同的对象,在对象内部封装不同的方法。
  3. 最后完成的代码,就是顺序的让不同的对象调用不同的方法。

【特点】

  • 注重对象和职责,不同的对象承担不同的职责
  • 更能应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
  • 需要在面向过程基础上,再学习一些面向对象的语法

相比函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法

class Cat:

    def eat(self):
        # 哪个对象调用的方法,self就是哪个对象的引用
        print("%s吃鱼" % self.name)
    
    # 方法中没有使用类中的变量
    # 删除括号里的 self ,用 @staticmethod 声明为静态方法
    @staticmethod
    def drink():
        print("喝水")


# 创建猫对象
tom = Cat()
# 可以使用 .属性名 利用赋值语句 就可以了
tom.name = "Tom"
tom.eat()
tom.drink()
print(tom)

# 再创建一个猫对象
lazy_cat = Cat()

lazy_cat.name = "Jack"
lazy_cat.eat()
lazy_cat.drink()
print(lazy_cat)

猜你喜欢

转载自www.cnblogs.com/dc2019/p/13179181.html