python面向对象教程
时间: 2023-09-12 13:11:19 浏览: 95
好的,我可以给你提供一些 Python 面向对象的基础教程。
# 类与对象
在 Python 中,对象是类的实例。类是一种定义包含属性和方法的对象的方式。定义一个类的语法如下:
```python
class ClassName:
# 类属性
attribute = value
# 构造函数
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
# 方法
def method(self):
# do something
```
在上述代码中,我们定义了一个类 `ClassName`,其中包含一个类属性 `attribute` 和一个构造函数 `__init__`,以及一个方法 `method`。
构造函数是一种特殊的方法,它在创建对象时被调用。在构造函数中,我们可以为对象设置属性。
方法是类中的函数。它们定义了对象的行为。方法的第一个参数必须是 `self`,它代表对象本身。
# 继承
继承是一种创建新类的方式,新类可以继承现有类的属性和方法。定义一个继承现有类的类的语法如下:
```python
class ChildClassName(ParentClassName):
# 子类属性
child_attribute = value
# 子类构造函数
def __init__(self, arg1, arg2, arg3):
# 调用父类构造函数
super().__init__(arg1, arg2)
self.arg3 = arg3
# 子类方法
def child_method(self):
# do something
# 调用父类方法
super().parent_method()
```
在上述代码中,我们定义了一个继承现有类 `ParentClassName` 的子类 `ChildClassName`。子类包含一个子类属性 `child_attribute` 和一个子类构造函数 `__init__`,以及一个子类方法 `child_method`。
在子类的构造函数中,我们需要调用父类的构造函数(即 `super().__init__()`),以便为对象设置父类属性。在子类的方法中,我们可以调用父类的方法(即 `super().parent_method()`)。
# 多态
多态是一种对象的属性,使得同一操作作用于不同的对象,产生不同的结果。在 Python 中,多态是通过继承和方法重写来实现的。
```python
class ParentClass:
def method(self):
print("ParentClass method")
class ChildClass(ParentClass):
def method(self):
print("ChildClass method")
obj1 = ParentClass()
obj2 = ChildClass()
obj1.method()
obj2.method()
```
在上述代码中,我们定义了一个父类 `ParentClass` 和一个继承自父类的子类 `ChildClass`。子类重写了父类的方法 `method`。
我们创建了一个父类对象 `obj1` 和一个子类对象 `obj2`,并调用它们的 `method` 方法。由于子类重写了父类的方法,所以 `obj2.method()` 的输出结果与 `obj1.method()` 不同。
这就是 Python 面向对象的一些基础知识。希望对你有帮助!
阅读全文