Python基础-10 面向对象编程介绍

面向对象介绍

  • 面向过程:根据业务逻辑从上往下写代码
    • 面向过程的编程,关注点在于怎么做
      • 把需求从头到尾逐步实现
      • 根据开发需求,将功能代码封装成一个又一个函数
      • 完成的代码就是按照顺序调用不同的函数
    • 特点:
      • 注重步骤与过程,不注重职责分工
      • 需求复杂则代码复杂
      • 开发复杂项目难度大

  • 面向对象(OOP):将变量与函数绑定到一起,分类进行封装,每个程序只负责分配给自己的分类,能够快速开发减少重复代码
    • 面向对象的编程,关注点在于谁来做
      • 首先确定职责
      • 根据职责确定不同的对象,在对象内部封装不同的方法
      • 代码就是顺序的调用不同对象的相应方法
    • 特点:
      • 注重对象和职责,不同对象承担不同职责
      • 更适合应对复杂的需求变化,是专门应对复杂项目的开发,提供固定的套路
      • 需要在面向过程的基础上,学习一些面向对象的语法

类和对象

  • 类是对一群有相同特征或者行为的事物的一个统称,是抽象的.
    • 特征其实就是一个变量,在类里面我们称之为属性
    • 行为其实就是一个函数,在类里面我们称之为方法
    • 类其实就是由属性方法组成的一个抽象的概念
  • 对象是由类创建出来的一个具体的存在,可以直接使用
    • 由哪个类创建出来的对象,就拥有在哪一个类中定义的属性和方法

面向对象的基本语法

  • 定义类:类名怎么定义
    • 按照当前的需求进行定义类名
    • 使用 class 来定义一个类
    • class 类名:类名一般需要遵守大驼峰命名法,每一个单词的首字母都需要大写
      1. class <类名>:
      1. class <类名>(object):
# 定义类
# 需求:
    # 小明今年 18 岁,身高 1.75 ,每天早上跑完步,会去 吃 东西
    # 小美今年 17 岁,身高 1.65 ,小美不跑步,小美喜欢 吃东西

class Students(object):  # 关注这个类里面有哪些属性和行为
    # 在 __init__方法中,以参数的形式定义特征,我们称之为属性
    def __init__(self,name,age,height):
        self.name = name
        self.age = age
        self.height = height

    # 行为定义为一个个函数
    def run(self):
        print('正在跑步')

    def eat(self):
        print('正在吃东西')

# 调用Students类 Students() ==> 会自动调用 __init__ 方法

# 使用 Students 类创建了两个实例对象 s1 s2
# s1和s2都会有name,age,height属性,同时都有run和eat方法
s1 = Students('小明',18,1.75)
s2 = Students('小美',17,1.65)

# 再根据业务逻辑,让不同的对象执行不通的行为
s1.run()
s1.eat()

s2.eat()

你可能感兴趣的:(Python,python)