Python自动化测试篇章——什么是面向对象编程?

兄嘚们下午好啊!学习自动化测试,我们绕不开python这门语言,更绕不开面向编程这个编程范式。今天让我们深入学习一下Python的面向对象编程(OOP)。面向对象编程有助于编写模块化、易于维护的代码,这在自动化测试和大型项目中非常有用。我们可以从几个关键概念开始:

1. 类和对象

  • :类是对象的蓝图或模板,用于定义对象的属性和行为。可以把类理解为一种数据类型。
  • 对象:对象是类的实例。通过创建对象来使用类的功能。
class Car:
    def __init__(self, brand, model):
        self.brand = brand
        self.model = model

    def start_engine(self):
        print(f"{self.brand} {self.model} engine started.")

my_car = Car("Toyota", "Corolla")
my_car.start_engine()

2. 属性和方法

  • 属性:类的属性可以看作是描述类对象的变量。例如 brandmodel
  • 方法:类的方法是定义在类中的函数,用于描述类对象的行为。例如 start_engine 方法。

在类的定义中,self 参数用于表示对象自身,便于访问对象的属性和方法。

3. 继承

继承允许一个类继承另一个类的属性和方法,避免重复代码。父类(基类)是被继承的类,子类(派生类)是继承父类的类。

class Vehicle:
    def __init__(self, brand):
        self.brand = brand

    def start(self):
        print(f"{self.brand} is starting.")

class Car(Vehicle):
    def __init__(self, brand, model):
        super().__init__(brand)
        self.model = model

    def drive(self):
        print(f"Driving {self.brand} {self.model}.")

my_car = Car("Toyota", "Corolla")
my_car.start()  # 使用父类方法
my_car.drive()  # 使用子类方法

在这个例子中,Car 继承了 Vehicle 的属性和方法,super() 调用了父类的 __init__ 方法。

4. 封装

封装是一种将数据和方法保护起来的机制,以控制对类属性的访问。通常通过以下方式实现:

  • 使用单下划线 _ 表示“受保护”属性或方法(仅建议限制访问,但不完全禁止)。
  • 使用双下划线 __ 表示“私有”属性或方法(Python会“改名”以避免外部直接访问)。
class Account:
    def __init__(self, owner, balance):
        self.owner = owner
        self.__balance = balance  # 私有属性

    def deposit(self, amount):
        self.__balance += amount

    def get_balance(self):
        return self.__balance

acc = Account("Alice", 1000)
print(acc.get_balance())  # 访问私有属性

5. 多态

多态允许子类通过重写父类的方法以不同的方式实现同一方法。例如:

class Animal:
    def sound(self):
        pass

class Dog(Animal):
    def sound(self):
        return "Woof!"

class Cat(Animal):
    def sound(self):
        return "Meow!"

animals = [Dog(), Cat()]
for animal in animals:
    print(animal.sound())

在这里,sound() 方法在 DogCat 中实现了不同的行为。

总结

  • 类和对象:类是模板,对象是实例。
  • 属性和方法:类的变量和函数,用于描述对象。
  • 继承:一个类继承另一个类的属性和方法,减少重复代码。
  • 封装:使用访问控制保护类的属性和方法。
  • 多态:允许同一方法在不同类中表现出不同的行为。

开个小玩笑,最重要一点学号面向对象,以后好找对象[手动狗头]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值