在Python中,基类(base class)或超类(superclass)是指一个类的父类或超类,它被用来派生其他类。基类提供了一些基本的属性和方法,这些属性和方法可以被子类重写或扩展。所有类都默认继承自`object`,这是Python中的一个内置基类。
基类的特点:
继承:子类可以继承基类的属性和方法。
多态:子类可以重写基类的方法,实现不同的行为。
属性:基类可以定义实例属性和类属性。
方法:基类可以定义实例方法和类方法。
查看基类:
在Python中,可以使用`bases`属性来查看一个类的所有直接父类。例如:
class A:
pass
class B(A):
pass
print(B.bases) 输出: (
,)
这里`B`是`A`的子类,`B.bases`返回一个包含`A`的元组,表示`B`继承自`A`。
抽象基类(Abstract Base Class, ABC):
Python中的`abc`模块提供了创建抽象基类的功能。抽象基类是不能被实例化的类,它定义了一些方法,所有继承这个抽象基类的子类必须实现这些方法。例如:
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
rect = Rectangle(3, 4)
print(rect.area()) 输出: 12
在这个例子中,`Shape`是一个抽象基类,它定义了一个抽象方法`area`,所有继承`Shape`的子类(如`Rectangle`)必须实现这个方法。
希望这解答了您关于Python中基类的疑问,