python 类方法重构
时间: 2023-11-06 07:02:31 浏览: 47
Python中的类方法重构是指在子类中对父类的方法进行修改或重写。可以通过在子类中重新定义相同名称的方法来实现重构。在重构过程中,可以通过调用父类的方法来获取父类的属性或实现父类方法的功能。
在Python中,通过使用super关键字来调用父类方法,并在调用时传入子类的实例self作为参数,以便在父类方法中可以访问子类的属性。通过super关键字调用父类方法的一般格式为:super(子类, self).父类方法名(参数)。
例如,在下面的代码示例中,子类Chinese继承了父类Person的talk()方法,并在子类中对该方法进行了重写:
```python
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
self.weight = 'weight'
def talk(self):
print("person is talking....")
class Chinese(Person):
def __init__(self, name, age, language):
super(Chinese, self).__init__(name, age)
self.language = language
def talk(self):
print('%s is speaking chinese' % self.name)
```
在这个例子中,子类Chinese通过调用super(Chinese, self).__init__(name, age)来继承了父类Person的构造方法,并在构造方法中添加了自己的属性language。同时,子类Chinese重写了父类Person的talk()方法,以实现自己的功能。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)