Python 面向对象[Day 06]

时间:2022-12-15 20:10:50

 面向对象编程(Object-Oriented Programming) 

概述

  • 面向过程:根据业务逻辑从上至下写代码,实现所需功能。
  • 函数式:将某些功能代码封装至函数中,在需要时调用函数,函数式代码可被调用多次。
  • 面向对象:对函数进行分类和封装,让开发"更快更好更强"

面向对象靠三大特性实现"更快更好更强"

  • 封装      
    • 多个方法共有一组变量,变量封装到对象中(方法访问时直接去对象中取)
    • 通过模板创建多个对象 
  • 继承   以普通的类为基础建立专门的类对象,分为基类(父类)、派生类(子类)
  • 多态   对不同的对象使用相同的操作,但输出的结果是不同的

声明类

 面向对象编程是一种编程方式,此编程方式的落地需要使用 "类" 和 "对象" 来实现,所以,面向对象编程其实就是对 "类" 和 "对象" 的使用。

  类是一个模板,模板里可以包含多个函数,函数里实现功能。

  对象则是根据模板创建的实例,通过实例对象可以执行类中的函数

PS:函数在类中统一叫方法

  根据类创建对象又叫根据类实例化对象

# 创建类
class example(object):
  # __init__ 为初始化方法,在类被实例化时,就会自动执行初始化方法,其它方法只有被调用时才会被执行
  # __init__ 作用是将一些通用的信息,通用的功能写在初始化函数中,类只要被实例化就执行 __init__ 中的内容
  def __init__(self,name):
    self.name = name # 相当于 obj.name
    print ("My is __init__")

  def say_name(self): # 此处的 self 就等于传入 obj
    print ("My name is %s" %self.name) # obj.name 自然就会取到传的值 "jay" # 根据类 example 创建对象 obj,创建对象时传入变量,变量保存在对象中
# 此处相当于 obj = example('obj','Jay') obj = example('Jay') # 根据对象调用类中的方法 obj.jay()