# 继承

> 原文： [https://pythonbasics.org/inheritance/](https://pythonbasics.org/inheritance/)

继承：一个类可以获取另一个类的属性和变量。 该类称为超类或父类。

继承使您不必重复自己（在编码中：不要重复自己），您可以定义一次方法并将其用于一个或多个子类中。



## 示例

### 简介

您至少需要两个类才能使继承起作用。 就像现实生活一样，一个人会继承另一个。从超类继承的类将获得所有内容。

对于面向对象的编程，这意味着它将从超类获取方法和变量。

多个类可以从同一父类继承。 在这种情况下，所有子类都将获得超类的所有属性和方法。

![inheritance](img/0b1177c6ca9fa0869758c96e3c90b773.jpg)

### 工作原理

定义两个类，一个超类（`App`）和一个子类（`Android`）。 子类（`Android`）继承自`App`类。

首先，我们定义超类。 超类的编写方式与普通类一样，没有什么特别之处，只不过其他人可以继承。 您可以根据需要提供方法和变量。

```py
class App:
    def start(self):
       print('starting')

```

我们在超类（`App`）中定义了方法和变量，一旦继承，我们就可以在子类中使用它们。 让我们创建一个继承自超类的类（`Android`）。

在超类中，我们创建方法`start()`。 这只是出于演示目的，该方法在使用`Android`类创建对象时将可用。

Python 如何知道类要继承？ 类名后的花括号。

```py
class Android(App):

```

首先定义普通的类名，然后定义超类。

### 代码示例

下面的示例演示了 Python 中的继承。 Python 支持多种继承，但是在此示例中，我们仅从一个超类继承。

以下是完整的示例：

```py
#!/usr/bin/python

class App:
    def start(self):
       print('starting')

class Android(App):
    def getVersion(self):
       print('Android version')

app = Android()
app.start()
app.getVersion()

```

## 练习

请尝试以下练习：

1.  创建一个继承自`App`类的新类
2.  尝试创建一个从两个超类继承的类（多重继承）

[下载示例](https://gum.co/HhgpI)