面向对象
面向对象就是把对象作为整体,因为对象本来就是一个整体。
基于对象的整体性,于是有了对象的封装和数据隐藏。
基于对象间的关系,于是有继承和多态,形成层次体系。
基于对象的复杂性,需要对其抽象,于是有了类。
把对象作为整体,于是分析问题和解决问题的方式方法都更自然简洁。软件开发和维护也变得容易了。
对象的方法可以是与具体业务逻辑有关的实用方法;也可以是负责与其他对象通信的接口方法。
面向对象的语言有三个特性:
- 封装性;
- 继承性;
- 多态性;
封装是指把数据和函数绑定到一个容器或者对象中。这一概念也称为数据抽象(data abstraction),它支持数据隐藏(data hiding),就是说对象可以对程序的其他部分隐藏其数据,使数据不能被直接访问,而只可以通过接口函数访问。封装减少了意外数据修改和逻辑错误发生的可能性.
步骤:1)修改属性的访问权限;
2)为每个属性创建一对setter/getter方法;
3)在setter方法中,加入对属性的存取控制语句;
继承机制是为了支持代码的可重用性(reusability)。定义新的类,可以从已有的类中继承代码,减少了程序的总代码量和写代码时间,缩短了开发周期。生活中继承的情况比比皆是:
例如,已经定义了三角形类Triangle,则定义直角三角形Rtriangle可以继承Triangle中的数据和方法,再添加新的数据和方法,即实现了代码的重用。 建筑设计部门开始一个新楼设计时可能从一个过去的设计承一些风格、结构思路。修改增补之后得到一个新设计。
多态性类似一词多义现象,比如汉字“打”,用在不同上下文中含义不同。“打酱油”是买酱油,“打电话”是拨通电话,“打牌”是玩牌,“打车”则是租车。
面向对象语言中的多态性也是为了用单一的接口形式,表达多种不同的动作。
函数/方法是最小的可重用单位。
面向对象则把可重用单位提升到"类"的层次。
设计模式则把可重用单位提升到"框架"的层次。
高质量的代码就是把重用发挥到极致。
反思程序之外,重用具有极大的积累效应,如果今天做的事不能为未来作铺垫,那么这件事的价值就微乎其微,反之则像雪球般越滚越大。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律