Python 编程:对象导向简介318


Python 是一种强大的编程语言,支持对象导向编程 (OOP) 范例。OOP 将程序组织成对象,这些对象包含数据和操作该数据的方法。这种方法使代码更易于维护和重用。

对象的定义

一个对象是一个数据结构,它包含数据和操作该数据的方法。在 Python 中,使用 class 关键字创建对象。例如,下面是一个定义 Person 对象的类:```python
class Person:
def __init__(self, name, age):
= name
= age
def get_name(self):
return
def get_age(self):
return
```

在这个例子中,Person 类包含两个属性 (name 和 age) 和两个方法 (get_name 和 get_age)。

创建对象

一旦定义了一个类,就可以创建该类的对象。使用 __init__() 方法对对象进行初始化。例如,以下代码创建一个名为 bob 的 Person 对象:```python
bob = Person("Bob", 30)
```

现在,我们可以使用 bob 对象访问其属性和方法:```python
print(bob.get_name()) # 输出:"Bob"
print(bob.get_age()) # 输出:30
```

继承

Python 支持继承,这是一种创建一个新类(子类),该类继承自现有类(父类)的能力。子类继承父类的所有属性和方法,并且还可以定义自己的属性和方法。

例如,我们创建一个名为 Employee 的子类,该子类继承自 Person 类:```python
class Employee(Person):
def __init__(self, name, age, salary):
super().__init__(name, age)
= salary
def get_salary(self):
return
```

在这个例子中,Employee 类继承了 Person 类的所有属性和方法,并且还定义了一个新属性 (salary) 和一个新方法 (get_salary)。

封装

封装是一种将数据和方法绑定在一起并在一个对象中隐藏其实现的机制。这有助于保护数据免受外部更改,并允许您控制对对象的访问。

在 Python 中,可以使用访问修饰符来控制对对象属性和方法的访问。有三个访问修饰符:* public (public):可以从任何地方访问
* protected (protected):只能从子类访问
* private (private):只能从该类内部访问

例如,以下代码使用访问修饰符来保护 Employee 类的 salary 属性:```python
class Employee(Person):
def __init__(self, name, age, salary):
super().__init__(name, age)
self._salary = salary # protected attribute
def get_salary(self):
return self._salary # protected method
```

现在,salary 属性只能从 Employee 类或其子类中访问。

多态性

多态性是一种让对象以不同方式响应相同消息的能力。这允许您编写通用的代码,该代码可以针对不同的对象类型工作。

例如,假设我们有一个 speak() 方法,该方法可以被 Person 类和 Employee 类使用。Person 类的 speak() 方法可以返回一个通用的消息,而 Employee 类的 speak() 方法可以返回一个特定的员工消息。```python
class Person:
def speak(self):
return "Hello!"
class Employee(Person):
def speak(self):
return "Hello, my name is {} and I am an employee.".format(self.get_name())
# 创建 Person 对象
bob = Person()
# 创建 Employee 对象
alice = Employee("Alice", 30, 50000)
# 调用 speak() 方法
print(()) # 输出:"Hello!"
print(()) # 输出:"Hello, my name is Alice and I am an employee."
```

在这个例子中,我们对 Person 和 Employee 对象调用了相同的 speak() 方法,但得到了不同的结果。这是因为 speak() 方法被多态化,这意味着它可以根据对象的类型而改变其行为。

对象导向编程是 Python 中一种强大的范例。它使您可以创建可重用且易于维护的代码。如果您正在学习 Python,了解 OOP koncepcija 至关重要。

2025-02-05


上一篇:面向切面的编程:用 Python 提升代码可维护性

下一篇:春节编程 Python