类的继承和抽象类的定义和使用-Shape
时间: 2024-02-23 17:28:31 浏览: 98
类的继承是指一个类可以继承另一个类的属性和方法,从而扩展或者修改原有的类。被继承的类称为父类或者基类,新的类称为子类或者派生类。
抽象类是只有方法定义而没有具体实现的类,它的目的是为了让子类去实现这些方法。抽象类通常用于定义一些基本的行为或者属性,其子类可以继承这些行为和属性,同时可以根据具体场景去实现这些方法。抽象类不能被实例化,只能被继承。
下面是一个 Shape 抽象类的示例:
```python
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
@abstractmethod
def perimeter(self):
pass
```
这个抽象类定义了两个抽象方法 area 和 perimeter,这些方法没有具体的实现。任何继承自 Shape 的子类都必须实现这两个方法。
下面是一个 Circle 子类的示例:
```python
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius ** 2
def perimeter(self):
return 2 * 3.14 * self.radius
```
这个子类继承了 Shape 类,并且实现了 area 和 perimeter 方法。它还定义了一个 radius 属性,用来表示圆的半径。
通过这个示例,我们可以看到抽象类的作用,它可以定义一些基本的行为或者属性,并且可以强制子类去实现这些行为和属性。同时,它也可以通过继承来扩展或者修改原有的类。
阅读全文