sync from local backup

This commit is contained in:
chunyu
2026-08-05 23:59:15 +08:00
commit d48ec1747c
358 changed files with 34384 additions and 0 deletions
+99
View File
@@ -0,0 +1,99 @@
# 第5章 面向对象编程(OOP)
## 5.1 面向对象概述
- **类(Class)**:抽象模板,定义属性和方法
- **对象(Object)**:类的实例
- **封装**:隐藏内部实现细节
- **继承**:子类继承父类的属性和方法
- **多态**:同一接口,不同实现
---
## 5.2 类和对象
```python
class Dog:
species = "犬科"
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
return f"{self.name} 汪汪叫!"
def __str__(self):
return f"{self.name}({self.age}岁)"
my_dog = Dog("旺财", 3)
print(my_dog.bark())
print(my_dog)
```
---
## 5.3 封装
```python
class BankAccount:
def __init__(self, owner, balance=0):
self.owner = owner
self.__balance = balance
def deposit(self, amount):
if amount > 0:
self.__balance += amount
def get_balance(self):
return self.__balance
```
---
## 5.4 继承
```python
class Animal:
def __init__(self, name):
self.name = name
class Cat(Animal):
def speak(self):
return f"{self.name} 喵喵叫"
class Dog(Animal):
def speak(self):
return f"{self.name} 汪汪叫"
```
---
## 5.5 魔术方法
```python
class Book:
def __init__(self, title, author, price):
self.title = title
self.author = author
self.price = price
def __str__(self):
return f"《{self.title}》 - {self.author}"
def __repr__(self):
return f"Book('{self.title}', '{self.author}', {self.price})"
def __eq__(self, other):
if isinstance(other, Book):
return self.title == other.title
return False
```
---
## 本章练习
1. 设计一个 `Student` 类,包含姓名、年龄、成绩属性
2. 使用继承创建 `Animal` 类及其子类
3. 实现一个单例模式的配置管理器类