python的类的继承
时间: 2023-07-25 08:42:44 浏览: 50
在Python中,类可以通过继承来扩展和重用现有的类的属性和方法。继承是一种面向对象编程的基本概念,它允许子类继承父类的属性和方法,并可以添加自己的属性和方法。
在Python中,定义一个继承自父类的子类需要使用`class`关键字,并在类名后面加上父类的名称,语法如下:
```python
class ChildClass(ParentClass):
# 子类的属性和方法
```
子类可以访问父类中定义的属性和方法。如果子类和父类具有同名的属性和方法,则子类会覆盖父类的属性和方法。
例如,定义一个`Person`类和一个继承自`Person`类的`Student`类:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self):
print("Hello, my name is", self.name)
class Student(Person):
def __init__(self, name, age, school):
super().__init__(name, age)
self.school = school
def say_hello(self):
print("Hello, my name is", self.name, "and I study at", self.school)
```
以上代码定义了一个`Person`类和一个继承自`Person`类的`Student`类。`Person`类有一个`name`和一个`age`属性,以及一个`say_hello`方法;`Student`类在此基础上添加了一个`school`属性,并且覆盖了`say_hello`方法。
可以使用以下代码创建`Person`和`Student`类的对象,并调用`say_hello`方法:
```python
p = Person("John", 30)
p.say_hello()
s = Student("Alice", 20, "MIT")
s.say_hello()
```
运行结果为:
```
Hello, my name is John
Hello, my name is Alice and I study at MIT
```
以上代码创建了一个`Person`类的对象`p`和一个`Student`类的对象`s`,并调用了它们的`say_hello`方法,输出了不同的结果。
需要注意的是,子类也可以添加自己的属性和方法,从而扩展父类的功能。继承是一种非常有用的编程技巧,可以提高代码的重用性和可维护性。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)