【面向对象】面向对象基本概念:对象、类、消息

📅 发布时间:2026/7/27 19:42:42
【面向对象】面向对象基本概念:对象、类、消息 考点频率★★★★★年年必考选择题的“送分题”也是“送命题”难度⭐建议死磕“对象三要素”和“类与对象的区别”这是你面向对象大厦的“地基钢筋”1️⃣ 咱们先别背定义来认识三个“同事”假设咱们要开发一个“线上食堂订餐系统”老板让你用面向对象的思想来设计。这时候面向过程的人会去想“先点餐、再支付、然后出票”这三个步骤。但咱们是面向对象的人咱们得先看看这系统里有谁。你发现系统里有这么几位“同事”小明一位具体的同学他有名字、有余额、有想吃的菜。宫保鸡丁套餐一份具体的菜它有价格、有辣度、有图片。点餐机它负责接收指令处理逻辑。请注意当我们在写代码的时候电脑里跑着的“小明”不是真人而是占据了一块内存的“数据集合”。这块内存区域里记录着“小明”的属性余额并且知道“小明”能干嘛支付。这块内存区域在面向对象的世界里就叫做——对象Object。2️⃣ 对象Object内存里的“活雷锋”定义对象是系统中用来描述客观事物的一个实体它是构成系统的基本单位。它由一组属性和方法操作组成。一个对象之所以能被人认出来是因为它具备三要素软考选择题高频考点要素含义打个比方小明同学属性状态对象拥有的数据描述“它是什么样子的”余额50元菜名宫保鸡丁方法行为对象能执行的操作描述“它能做什么”支付()选择菜品()标识唯一性每个对象在内存中都有独一无二的地址学号 001哪怕有两个叫小明的电脑也分得清谁是谁记住一句话对象 属性 方法 标识。3️⃣ 类Class对象的“模具”和“施工图”现在问题来了。全公司不止小明一个人点餐还有小红、小刚、小李。如果每次来一个新同事咱们都得在电脑里给他开辟一块内存重新写一遍“姓名、余额、支付方法”程序员的头发早就掉光了。这时候类Class就出场了。定义类是一组具有相同属性和相同方法的对象的抽象或模板。打个比方类就是“同学”这张报名表模板。上面写着“姓名、学号、余额”但具体内容空着。对象就是根据这张报名表具体填写出来的纸质文件实例。上面写着“小明、001、50元”。核心区别软考必考死穴对比维度类Class对象Object本质抽象的是概念、是模板具体的是实例、是实体存在时间编译时写代码的时候存在运行时程序跑起来才在内存里分配空间存储位置方法区/代码区堆内存Heap关系类是对象的蓝图对象是类的实例Instance一句话你定义的是类你new创建出来的是对象。没有类你就造不出对象没有对象类就只是一堆躺在硬盘上的字符。4️⃣ 消息Message对象间吵架的“标准话术”有了类有了对象系统怎么跑起来呢总不能各干各的吧。定义消息是对象之间进行通信的请求。一个对象要想让另一个对象干活调用它的方法唯一的办法就是给它发送一条消息。消息的三要素软考常考点接收者消息发给谁比如把消息发给“点餐机”对象操作名让对方做什么比如“下单”参数做这件事需要什么附加信息比如{“菜品”: “宫保鸡丁”, “数量”: 1}唯一性面向对象中消息传递是对象间唯一的交互方式。如果你不让A发消息给BA就绝对不能直接去改B的余额这就叫封装咱们下篇细讲。5️⃣ 它们仨怎么配合工作的经典流程假设咱们写的程序跑起来了咱们用代码逻辑理一遍定义类程序员写了一行代码class Student { 余额; 支付() }。此时只是一个概念创建对象程序运行到小明 new Student()电脑在内存里划了一块地把“余额50”填进去。此时对象活了发送消息程序执行到点餐机.下单(小明, 宫保鸡丁)。点餐机是接收者。下单是操作名。小明和宫保鸡丁是参数。6️⃣ 经典例题对着答案看解析别跳例题1以下关于面向对象中“对象”的叙述中正确的是 。A. 对象是属性和方法的抽象B. 对象的标识是动态的可以随时改变C. 对象的三要素是属性、方法和标识D. 类是对对象的封装解析A说反了类才是属性和方法的抽象B大错特错标识是唯一的一旦生成不能改变就像你的身份证号C正确D说反了对象是类的实例。选C。例题2在面向对象系统中对象之间进行通信的唯一方式是 。A. 函数调用B. 消息传递C. 共享内存D. 全局变量解析面向对象强调封装对象不能直接访问另一个对象的内部数据只能通过发送消息调用方法来交互。选B。7️⃣ 记忆口诀对象三要素标识属性和方法。类做模板存硬盘对象实例在堆上。对象通信靠消息接收操作带参数。8️⃣ 小测验评论区对答案下面关于类和对象的说法中错误的是 。A. 类是对象的模板对象是类的实例B. 一个类只能实例化一个对象C. 对象在程序运行时才分配内存D. 类是对具有相同属性和方法的对象的抽象本专栏日更点击头像 → 专栏《软考中级高频考点》订阅第一时间接收新内容#软考中级 #软件设计师 #面向对象 #类与对象 #消息 #软考备考