面向对象概述
面向对象基本概念
- 面向对象的定义
- 对象:表示现实世界中的某个具体的事物或概念
- 从软件角度,对象是有数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而继承性是对具有层析关系的类的属性和操作进行共享的一种方式
- 以对象作为软件系统的构造颗粒
- 对象和类区别
- 对象:根据一个类创建的一个实例
- 类:共享相同属性、操作、方法、关系或行为的一组对象的描述
例:小明是对象,学生是类。
- 面向对象定义:基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统
- 面向对象思想
- “面向对象”技术追求的是软件系统对现实世界的直接模拟,尽量实现将现实世界中的事物直接映射到软件系统的解空间
- 面向对象强调对象的表示
- 面向对象方法
- 面向对象方法:一种把面向对象的思想应用于软件开发过程中,知道开发活动的系统方法,简称OO方法,是建立再“对象”概念基础上的方法学
- 面向对象分析(OOA):强调的是在问题领域内发现和描述对象
例:在航班信息系统里包含飞机Plane、航班、飞行员等概念
- 面向对象设计(OOD):强调的是定义软件对象及它们如何协作以及实现需求
例:软件对象Plane可以有tailNumber属性和getFlightHistory方法
- 优点
- 提供符合客观现实的模型,OO设计更遵循思维的自然方式,便于用于从业务的角度
- 代码的重用性、可维护性、可扩充性、稳定性好
- 缺点
- 需要更关注需求、分析和设计
- 开发人员必须和用户紧密合作
- 需要完全改变每个人的思想
- 要求先在培训、教育和工具上投资
- 要求更多测试
- 进行面向对象的实施步骤
- 定义用例
- 用例:提炼人们如何使用系统的这些情节或场景,要求真实、有意义
- 包括用例图和用例规约
- 定义领域模型
- 把客观现实的对象描述出来(不需要描述行为)
- 定义交互图
- 对象协作的动态视图
- 关注对象的职责和协作
- 定义设计类图
- 类图:表示类定义的静态视图
- 描述类的属性和方法+类之间的关系
- 面向代码世界
例:筛子游戏
- 定义用例
用例图
用例规约略 - 领域模型
- 交互图
- 设计类图
分别写了两种,每个人具体写出来的多少有不同,思路对就行
- 定义用例
- 部分知识点的分析总结:
- 面向对象或许可以简单理解成把现实中的事物都抽象为对象,通过调用不同的对象的属性或者方法协作完成软件功能。不同于面向过程,将一个个步骤作为方法来实现功能。
- 如果将类单简单想成一个飞机的设计蓝图,那对象可以简单的想成是用设计蓝图做出来的战斗机或者客机。
- 可以用有没有继承和多态来判断面向对象与基于对象,有就是面向对象,没有则是基于对象
- 以对象作为软件系统的构造颗粒,就像砖块作为楼房的构造颗粒
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了