在Python中,类(对象)之间的关系是面向对象编程的核心概念之一。这些关系定义了类(及其实例)如何相互交互,以及它们如何构成程序的结构。
关联(Association)
关联是两个类之间的一种引用关系,其中一个类的对象包含对另一个类的对象的引用。这种关系通常表示为一个类知道另一个类的属性和方法。
class Engine:def start(self):print("引擎启动了")class Car:def __init__(self):self.engine = Engine()def start(self):self.engine.start() # 调用Engine类的方法# 示例
my_car = Car()
my_car.start() # 输出:引擎启动了
继承(Inheritance)
继承是一种层次关系,子类继承父类的属性和方法。子类可以添加新的属性和方法,也可以重写父类的方法。
class Animal:def speak(self):passclass Dog(Animal):def speak(self):print("汪汪汪")# 示例
my_dog = Dog()
my_dog.speak() # 输出:汪汪汪
依赖(Dependency)
依赖是一种使用关系,其中一个类的方法操作另一个类的对象。这通常意味着一个类的对象是另一个类方法的参数。
class Pen:def write(self):print("正在写字")class Writer:def write_with(self, pen):pen.write() # 使用Pen类的对象# 示例
my_pen = Pen()
author = Writer()
author.write_with(my_pen) # 输出:正在写字
总结来说,关联关系通常用于表示不同类的对象之间的长期关系,继承关系用于表示特殊与一般的层次关系,而依赖关系则表示一个类在某个短暂的操作中使用另一个类的对象。