Python面向对象的核心是将现实事物与行为映射为代码结构:类是定义属性和方法的蓝图,对象是具象实例;通过封装隐藏实现细节,继承实现逻辑复用,多态支持同一接口不同行为。

Python面向对象的核心,不是记住语法,而是理解“把现实世界的事物和行为,映射成代码里的结构”这件事。类是模板,对象是按模板造出来的具体实例——就像设计图和房子的关系。
类:描述“一类事物该长什么样、能做什么”
类不是数据,也不是功能,而是一份蓝图。它定义了这类对象共有的属性(数据)和方法(行为)。比如定义一个Car类,不表示某辆具体的车,而是说明“所有车都有品牌、颜色、速度,都能启动、加速、刹车”。
- 用red">class 类名:声明,内部用def __init__(self, ...)初始化属性
- 方法里第一个参数必须是self,代表调用它的那个具体对象
- 类中定义的变量(如self.color = "red")属于对象,每个对象独立保存一份
对象:类的具体化身,有独立状态和行为能力
对象是运行时真实存在的个体。同一个类可以创建多个对象,它们属性值可以不同,但共享同一套方法逻辑。比如car1 = Car("Tesla", "blue")和car2 = Car("BMW", "black")是两个独立对象,改car1的颜色不影响car2。
- 通过类名(...)调用构造函数生成对象,这个过程叫“实例化”
- 对象可直接访问属性(car1.color)和调用方法(car1.accelerate())
- 每个对象在内存中有自己的空间,互不干扰
封装:把数据和操作打包在一起,隐藏细节
封装不是为了“不让别人看见”,而是明确责任边界。类内部管理自己的状态,对外只暴露必要的接口。比如BankAccount类把余额存为私有属性(习惯加下划线前缀如_balance),只提供deposit()和withdraw()方法来操作,避免外部直接赋值导致数据异常。
立即学习“Python免费学习笔记(深入)”;
- Python没有强制访问控制,但约定用单下划线(_name)表示“不建议直接访问”
- 方法内部可自由读写自身属性,外部只能通过公开方法改变状态
- 好处是修改内部实现时,只要接口不变,使用者代码完全不用动
继承与多态:复用逻辑 + 灵活响应
继承解决的是“相似但有差异”的建模问题。比如Dog和Cat都属于Animal,共用name和eat(),但speak()各不相同。子类继承父类属性和方法,又能覆盖特定行为——这就是多态:调用同一个方法名,实际执行的是对象所属类的具体版本。
- 用class Dog(Animal):表示继承,子类自动获得父类所有公开内容
- 重写父类方法只需在子类中定义同名方法,super().xxx()可调用父类版本
- 多态让代码更通用,例如函数接收Animal类型参数,传Dog或Cat都行,运行时自动调用对应speak()










