【基础】Python中的继承与多态的实现方式
发布时间: 2024-06-24 11:38:36 阅读量: 75 订阅数: 100
![【基础】Python中的继承与多态的实现方式](https://img-blog.csdnimg.cn/de73d6486f2d4c898c26d6974ddb1856.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATmV3RGF5Xw==,size_20,color_FFFFFF,t_70,g_se,x_16)
# 2.1 继承的定义和作用
### 2.1.1 继承的语法和规则
继承是面向对象编程中一种重要的机制,它允许子类继承父类的属性和方法。在 Python 中,使用 `class` 关键字定义子类,并在其后面跟上父类的名称,表示子类继承了父类。例如:
```python
class ChildClass(ParentClass):
# 子类代码
```
子类可以继承父类的所有属性和方法,并且可以定义自己的属性和方法。子类中的属性和方法可以覆盖父类中的同名属性和方法,从而实现方法的重写或扩展。
### 2.1.2 子类的属性和方法继承
子类继承父类的所有属性和方法,包括实例属性、类属性、实例方法和类方法。子类可以访问父类的属性和方法,就像它们是自己的属性和方法一样。例如:
```python
class ParentClass:
def __init__(self, name):
self.name = name
class ChildClass(ParentClass):
def __init__(self, name, age):
super().__init__(name)
self.age = age
child = ChildClass("John", 30)
print(child.name) # 输出:John
print(child.age) # 输出:30
```
在上面的例子中,`ChildClass` 继承了 `ParentClass` 的 `__init__` 方法,并在其基础上扩展了 `age` 属性。
# 2. Python中的继承
### 2.1 继承的定义和作用
**2.1.1 继承的语法和规则**
继承是面向对象编程中一种重要的机制,它允许子类从父类继承属性和方法。在Python中,使用`class`关键字声明子类,并在其后使用冒号(`:`)指定父类。例如:
```python
class ParentClass:
def __init__(self, name):
self.name = name
class ChildClass(ParentClass):
def __init__(self, name, age):
super().__init__(name)
self.age = age
```
在上面的代码中,`ChildClass`继承自`ParentClass`。`ChildClass`可以访问`ParentClass`的所有属性和方法,并且可以定义自己的属性和方法。
**2.1.2 子类的属性和方法继承**
子类继承父类的所有属性和方法。子类可以访问父类的所有公共属性和方法,以及受保护的属性和方法。子类不能访问父类的私有属性和方法。
子类可以重写父类的方法,即定义同名的方法。重写后的方法将覆盖父类的方法。子类也可以扩展父类的方法,即定义新的方法。
### 2.2 继承的类型和用法
**2.2.1 单继承和多继承**
Python支持单继承,即一个子类只能继承自一个父类。Python也支持多继承,即一个子类可以继承自多个父类。
**2.2.2 子类重写和扩展父类方法**
子类可以重写父类的方法,即定义同名的方法。重写后的方法将覆盖父类的方法。子类也可以扩展父类的方法,即定义新的方法。
**代码块:**
```python
class ParentClass:
def method(self):
print("Parent method")
class ChildClass(ParentClass):
def method(self):
print("Child method")
```
**逻辑分析:**
在上面的代码中
0
0