栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

软件测试第二阶段:python程序开发第七课:面向对象

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

软件测试第二阶段:python程序开发第七课:面向对象

一丶面向对象简介 1、基础概念

概念:

  • 面向对象编程【简称:OOP】

开发程序模式

  • 面向过程:

    • 程序得开发过程是根据业务逻辑走【根据要求写语句】

    • 如何达成目标

  • 面向对象:

    • 程序得开发过程是围绕数据走

    • 操作将会影响谁

案例:打印tom、jerry、jack三个学员的信息,信息包括姓名、年龄、地址

# ================ 面向过程 ===================
# 定义第一个学员
stu1 = {
    "name":"tom",
    "age":"18",
    "addr":"hebei"
}
# 定义第一个学员
stu2 = {
    "name":"jerry",
    "age":"18",
    "addr":"tianjin"
}
# 定义第一个学员
stu3 = {
    "name":"jack",
    "age":"18",
    "addr":"beijing"
}

def showStu(**stuInfo):
    print("%s 的 年龄是 %s, 地址是%s"%(stuInfo["name"],stuInfo["age"],stuInfo["addr"]))

showStu(**stu1)
showStu(**stu2)
showStu(**stu3)

吃烤鸭

  • 面向过程吃鸭子

    • 【每一步都需要自己去实现】

    • 养鸭子

    • 鸭子长大

    • 杀

    • 腌制

    • 烹饪

    • 装盘

    • 吃

  • 面向对象吃鸭子

    • 【问题如何处理】

    • 找到卖烤鸭的店

    • 买

    • 吃

1.2如何理解面向对象和面向过程
  • 面向过程主要是需要关注具体的过程

  • 面向对象主要是着眼点是如何达到最终效果

1.3 概念:
  • 类

  • 实例化

  • 对象

1.4 类
  • 这是一个抽象概念,统指一类事物,比如人、动物、狗

  • 类是无法直接使用,必须将类实例化一个对象以后,基于这个对象才能使用

1.5 实例化
  • 将一个抽象的类具体化到某一个具体的对象,这个过程实例化

1.6 对象
  • 实例化的结果就是对象

案例:

汽车         类
奥迪           类
奥迪a6       类
我的奥迪a6    对象

水果                                  类
苹果                                  类
我吃了一块的苹果             对象

1.7 面向对象编程的特点
  • 一切皆为对象,列表、字典、字符串、元组

    • 例如:列表就是一个对象,列表中的每个元素也都是对象

    • python就是一堆对象集合

  • 每个对象都是实例化的结果

  • 每一类对象都具有自己特定的属性和方法

  • # 列表是一个类
  • # 创建一个列表对象【类的实例化】

li1 = [1,2,3]

  • # 列表类的方法

li.pop()
li.append()

  • # 字符串是一个类
  • # 创建字符串对象

str1 = "123"

灯类的通用方法

  • 开

  • 关

所有的对象,都是由类生成的,类具有的方法,其所有生成的对象都会具有

  • 例如灯类有开、关方法,那么所有实例化产生的灯,都具有这些方法

1.8 类的组成
  • 类名

  • 类方法:

    • 类的方法其实就是类里面的函数

    • 方法其实就是能做的事情

  • 类属性:

    • 类的属性其实就是类里面的一个变量

    • 属性其实就是这一类事物具有的特点、特性

案例:以狗类为例

类名:狗
类属性:品种、性别、毛色、体重、身高、年龄
类方法:叫、咬、吃、喝、拉、撒、跑

1.9 面向对象的三个原则
  • 封装:

    • 隐藏具体的实现细节

  • 继承:

    • 子类会继承父类所有的属性和方法

    • 类

      • 上级类:父类、基类、超类

      • 下级类:子类、派生类

  • 多态:

    • 传递不同的数据,会返回不同的结果

二、面向对象简单实现 2.1 定义类的格式

# 定义经典类
class 类名():
    属性
    方法

# 定义新式类
class 类名(父类名):
    属性
    方法

说明
  • 函数名:第二个单词首字母大写

  • 类名:每个单词首字母大写

案例:

# 定义一个类
class StuInfo():
    # 定义属性
    age = "10"
    addr = "hebei"
    name = "tom"

    # 定义方法
    def showInfo(self):  # 类中的方法的第一个形参必须是self
        #print("%s的年龄是%s, 地址在%s"%(name, age, addr))     # 此时这三个变量是去全局段找
        print("%s的年龄是%s, 地址在%s"%(self.name, self.age, self.addr))   # 加上self是去类内部找变量

# 进行实例化,将实例化结果赋值给stu1变量
# stu1是一个对象
stu1 = StuInfo()

# 显示类属性
print(stu1.age)
print(stu1.addr)
print(stu1.name)

# 调用类方法
stu1.showInfo()

案例:

class Car():
    def Start(self):
        print("汽车启动...")

    def Run(self):
        print("汽车在行驶...")

    def Stop(self):
        print("汽车停止...")

myCar = Car()

myCar.Start()
myCar.Run()
myCar.Stop()

案例 给类添加属性:

# 定义一个类
class Car():
    # 定义一个属性
    speed = "30"

    # 定义一个方法
    def Start(self):
        print("汽车启动...")
    # 定义一个方法
    def Run(self):
        print("品牌是%s, 车型是%s,汽车在行驶,速度是%s "%(myCar.carPai, myCar.carType, self.speed))
    # 定义一个方法
    def Stop(self):
        print("汽车停止...")

# 将类实例化成对象,将对象赋值给myCar
myCar = Car()

# 修改类中的属性
myCar.speed = "80"
# 给类添加属性
myCar.carType = "SUV"
myCar.carPai = "领克"

# 调用类方法
myCar.Start()
myCar.Run()
myCar.Stop()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号