生活中的面向对象

面向对象思想

感悟:要想成为合格工程师,必须拥有面向对象思维

初级工程师和高级工程师以及架构师最大的区别就是等级越高看问题的角度就不一样,犹如初级工程师写系统完全就是面向过程 if else写满整个类,而且类之间的耦合性很大,不好维护,牵一发而动全身,扩展性很不好。他们站在角度就是能完成功能需求,但是高级工程师以及架构师站在项目角度,考虑未来需求变化和如何做到可维护性、可复用、可扩展(当然这里从代码层面,还有就是从系统架构层面考虑后面单设栏目进行分析)。

面向对象特性

  • 封装
  • 继承
  • 多态

封装

将独立模块(可能是独个方法或多个类,甚至一个系统)逻辑封装起来,便于复用,维护。

尽量让依赖方知道的越少越好,将复杂逻辑封装在一个类中的方法中或模块中。 例如根据需要传入对应的参数,然后获取相应的结果,获取结果过程我们并不care,我只想要结果是什么,复杂的逻辑封装起来就好。

继承

将公共逻辑(包括属性、方法)放在一个父类中,然后不同的子类继承父类重写其方法,因此有不同的表现。依赖方只需要拿到抽象父类,并不需要知道具体实现类,降低模块之间的耦合性。

出现父类的地方一定可以被其他子类替换掉,这个就是后面讲到的面向对象四大设计原则中的里氏替换原则

多态</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python面向对象编程可以应用于各种生活实例,例如: 1. 餐厅管理系统 在一个餐厅,可以定义一个名为“餐厅”的类,其包括属性如餐厅名称、地址、营业时间等。还可以定义一个名为“菜单”的类,其包括属性如菜品名称、价格、口味等。在餐厅类可以定义方法如添加菜品、删除菜品、修改菜品等。在菜单类可以定义方法如查询菜品、排序菜品等。 2. 个人财务管理系统 在个人财务管理系统,可以定义一个名为“账户”的类,其包括属性如账户余额、账户类型等。还可以定义一个名为“支出”的类,其包括属性如支出金额、支出类型、支出日期等。在账户类可以定义方法如存款、取款、查询余额等。在支出类可以定义方法如添加支出、删除支出、查询支出等。 3. 学生信息管理系统 在学生信息管理系统,可以定义一个名为“学生”的类,其包括属性如学生姓名、学生年龄、学生性别等。还可以定义一个名为“课程”的类,其包括属性如课程名称、授课教师、上课时间等。在学生类可以定义方法如添加课程、删除课程、查询课程等。在课程类可以定义方法如查询学生、添加学生、删除学生等。 这些都是基于面向对象编程的生活实例,通过定义类和方法,可以更好地管理和处理相关的数据和业务逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值