Hello,Python学习搭子,咱们一起看看上面这张图,它展示了面向对象编程中类与对象的关系,就像汽车制造系统的真实案例一样。
- 1. 类的继承关系 - 父类、子类、孙子类是怎么一层层派生的
- 2. 类的属性和方法 - 每个类有哪些数据(属性)和能做什么(方法)
- 3. 对象实例 - 具体的对象是怎么从类创建出来的
- • Vehicle(车辆) - 基类,定义了所有车辆共有的属性和方法
- • 属性:制造商(make)、型号(model)、年份(year)、颜色(color)
- • 方法:启动(start)、停止(stop)、驾驶(drive)
- • Car(汽车) - 继承自Vehicle,增加了汽车特有的特性
- • Motorcycle(摩托车) - 同样继承自Vehicle,但发展路径不同
- • 新增属性:是否有边车(has_sidecar)
- • ElectricCar(电动汽车) - 继承自Car,进一步特化
- • 新增属性:电池容量(battery_capacity)
继承的好处:子类自动获得父类的所有能力,只需要关注自己的独特之处,这就是代码复用的魅力!
- • Manufacturer(制造商) - 一个独立的类
- • 属性:名称(name)、国家(country)
- • 方法:生产车辆(produce_vehicle)
- • 关联:Car类和Manufacturer类通过"manufactured_by"关系连接
- • 这是类之间的协作关系,体现了现实世界中的业务逻辑
- • tesla_model_3 - ElectricCar类的实例
- • 具体属性值:特斯拉制造、Model 3型号、2024年、红色、4个车门、75kWh电池
- • 具体属性值:本田制造、Civic型号、2023年、蓝色、4个车门
- • harley_davidson - Motorcycle类的实例
- • 具体属性值:哈雷戴维森制造、Sportster型号、2024年、黑色、无边车
- • 对象就像根据蓝图建造的具体房子、用模具制造的具体产品
- 1. 层次清晰:把通用功能放在基类,特殊功能放在子类
- 2. 易于扩展:要增加新车型(比如卡车),只需继承Vehicle类
- 3. 维护方便:修改基类的一个方法,所有子类自动生效
- 1. 添加一个新类 Truck,继承Vehicle,增加载重属性
- 3. 添加一个新的关联类 Dealer,表示汽车经销商
记住:面向对象编程的核心思想就是"分类"和"关系"。先把事物抽象成类,再理清类之间的关系,最后创建具体的对象。这样设计出来的程序结构清晰、易于理解和维护。