python 面对对象

面对对象:

类:模板

对象:现实事物的抽象实例

# 定义一个类  
class Dog:  
    # 初始化方法,当创建一个新的Dog对象时自动调用  
    def __init__(self, name, age):  
        self.name = name  # 实例变量  
        self.age = age    # 实例变量  
      
    # 实例方法,需要一个self参数来引用对象本身  
    def bark(self):  
        print(f"{self.name} says Woof!")  
      
    # 另一个实例方法  
    def sit(self):  
        print(f"{self.name} sits.")  
      
    # 类方法,使用@classmethod装饰器,第一个参数是cls,代表类本身  
    @classmethod  
    def breed(cls, breed_name):  
        print(f"This is a {breed_name} dog.")  
      
    # 静态方法,使用@staticmethod装饰器,不需要self或cls参数  
    @staticmethod  
    def about_dogs():  
        print("Dogs are loyal and friendly animals.")  
  
# 创建一个Dog对象  
my_dog = Dog("Buddy", 3)  
  
# 调用对象的方法  
my_dog.bark()  # Buddy says Woof!  
my_dog.sit()   # Buddy sits.  
  
# 访问对象的属性  
print(my_dog.name)  # Buddy  
print(my_dog.age)   # 3  
  
# 调用类方法和静态方法  
Dog.breed("Golden Retriever")  # This is a Golden Retriever dog.  
Dog.about_dogs()  # Dogs are loyal and friendly animals.
  1. 封装:通过将数据(属性)和操作这些数据的方法(函数)放在同一个类中,从而隐藏对象的内部状态并且只允许通过对象方法进行访问,以此来达到封装数据和操作的目的。
  2. 继承:子类可以继承父类的属性和方法,使得子类能够复用父类的代码。Python支持多重继承。
class Bulldog(Dog):  # Bulldog 继承自 Dog 类  
    def run(self, speed):  
        print(f"{self.name} runs at {speed} mph.")  
  
bull_dog = Bulldog("Tom", 4)  
bull_dog.run(10)  # Tom runs at 10 mph.  
bull_dog.bark()   # Tom says Woof!  # Bulldog 继承了 Dog 的 bark 方法
  1. 多态:指的是不同的对象对同一消息会做出不同的响应。在Python中,这通常是通过继承和重写父类方法来实现的。

class QuietDog(Dog):  
    def bark(self):  # 重写父类的bark方法  
        print(f"{self.name} whispers woof.")  
  
quiet_dog = QuietDog("Shhh", 2)  
quiet_dog.bark()  # Shhh whispers woof.  # 表现出多态性,与Dog类的bark行为不同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值