一天一个Python知识点——Day 31:面向对象编程概念
一天一个Python知识点——Day 31:面向对象编程概念
ZhangCurry一天一个Python知识点——Day 31:面向对象编程概念
🎯学习目标
理解面向对象编程(OOP)的基本思想,掌握类、对象、封装、继承和多态等核心概念,为后续深入学习Python面向对象编程打下基础。
📖核心知识点
什么是面向对象编程?
- 一种编程范式,将数据和处理数据的方法组织为”对象”
- 与现实世界建模方式相似,更容易理解和维护复杂程序
- 主要特点:封装、继承、多态
核心概念解析
**类(Class)**:对象的蓝图或模板,定义对象的属性和方法
1
2class Dog: # 类定义
pass**对象(Object)**:类的实例,具有实际的数据和行为
1
my_dog = Dog() # 创建对象
**属性(Attributes)**:对象的状态或数据
1
2
3class Dog:
def __init__(self, name): # 初始化方法
self.name = name # 实例属性**方法(Methods)**:对象的行为或功能
1
2
3class Dog:
def bark(self): # 方法定义
print("Woof!")面向对象三大特性
- 通过访问控制(公有、保护、私有)实现信息隐藏
**封装(Encapsulation)**:将数据和行为捆绑在一起,隐藏内部实现细节
**继承(Inheritance)**:子类继承父类的属性和方法,实现代码复用
1
2
3
4
5
6
7class Animal: # 父类
def eat(self):
print("Eating...")
class Dog(Animal): # 子类继承父类
def bark(self):
print("Woof!")**多态(Polymorphism)**:不同对象对同一消息做出不同响应
1
2
3
4
5
6
7
8
9
10
11
12class Cat(Animal):
def make_sound(self):
print("Meow!")
class Dog(Animal):
def make_sound(self):
print("Woof!")
# 多态示例
animals = [Cat(), Dog()]
for animal in animals:
animal.make_sound() # 同一方法,不同表现
💻动手尝试
- 创建一个
Person类,包含name和age属性以及introduce方法 - 创建两个不同的Person对象并调用其方法
- 创建一个
Student类继承Person,添加student_id属性和study方法
❗注意事项
- 类名通常使用驼峰命名法(如
MyClass) - 方法第一个参数通常是
self,表示对象自身 - 面向对象不是万能的,简单任务可能不需要使用类
✨今日总结:面向对象编程是Python进阶的重要基础,理解类、对象和三大特性是掌握Python高级编程的关键。明天我们将深入学习类与对象的实际创建和使用!



