面向过程和面向对象

面向过程和面向对象

面向过程

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

特点

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

面向对象

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

特点

  • 1.注重对象和职责,不同的对象承担不同的职责
  • 2.更加适合对应复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
  • 3.需要在面向过程的基础上,再学习一些面向对象的语法
类和对象
  • 类和对象是面向对象的两个核心概念
  • 类是模板,对象是根据这个模板创建出来的,应该先有类,后有对象,类只有一个,对象可以有很多个
属性和方法
  • 对对象的特征描述,通常可以定义为属性
  • 对象具有的行为(动词),通常可以定义为方法
  • 由哪一个对象调用的方法,方法内的self就是哪一个对象的引用
  • 在同一个对象中调用方法时,不需要传递self参数
  • 在方法内部,可以通过self.访问对象的属性,也可以通过self.调用其他的对象方法
初始化方法
  • 当使用类名创建对象时,会自动执行以下操作

    • 1.为对象在内存中分配空间–创建对象
    • 2.为对象的属性设置初始值–初始化方法(init)
    • 如果希望在创建对象的同时,就设置对象的属性,可以对__init__方法进行改造
      • 1.把希望设置的属性值,定义成__init__方法的参数
      • 2.在方法内部使用self.属性=行参,接受外部传递的参数
      • 3.在创建对象时,使用类名(属性1,属性2…)调用
    生命周期
    • 一个对象从调用类名(),生命周期开始
    • 一个对象的__del__方法被调用,生命周期结束
    • 在对象的生命周期内,可以访问对象属性,或者让对象调用方法
  • 在python中,使用print输出对象变量,默认情况下,会输出这个变量引用的对象是由哪一个类创建的对象
    以及在内存中的地址

  • 在开发中,希望使用print输出对象变量时,能够打印自定义的内容,就可以利用__str__这个内置方法(注意:__str__方法必须返回一个字符串)

你可能感兴趣的:(python,面向对象编程)