课时2:类与对象简介

简介: 既然提及了面向对象,那其中有两个极为重要的概念,我们必须率先明晰。要知道,面向对象是一个颇为庞大的话题,然而再庞大的话题也有其核心组成部分,而这核心部分便是类与对象。接下来,我们就针对类与对象展开分析,先来看看类与对象的简介。

课时2:类与对象简介

 

摘要:既然提及了面向对象,那其中有两个极为重要的概念,我们必须率先明晰。要知道,面向对象是一个颇为庞大的话题,然而再庞大的话题也有其核心组成部分,而这核心部分便是类与对象。接下来,我们就针对类与对象展开分析,先来看看类与对象的简介。

 

我们先来看二者是何种关系。类是对某类事物共性的抽象概念,而对象描述的则是具体的个体。或许大家对此过程不太理解,不妨举例说明。比如,我和王建站在一起,大家能轻易分辨出谁是谁,原因在于我与他存在诸多不同之处,我可能比他更具学识、身材更瘦、长相更显文气等。


当我们与其他人进行比较时,能够区分出彼此,毕竟我们都是一个个具体可辨的个体。


当我们看到生活中的各类场景,比如我在教课,李旭在做俯卧撑,林强在跑步,郭林一在吃饭,我们会发现这些都是一个个鲜活的个体在进行着不同的活动。然而,若有一位外国人看到这样的场景,或许会笼统地说一群中国人在这。


就像我们有时看黑人,可能觉得他们外貌上有相似之处,但外国人看我们中国人,可能也觉得都是黄皮肤、黑头发,好像都差不多。不过,外国人区分人的标准可能会依据骨骼、肤色等因素。


我们刚刚提到的都是一个个具体的个体,不过这些个体都存在一些共性标志,比如我们都是中国人。但同时,人与人又是不同的,我们有着各自不同的属性。就好比发布通缉令,要写明姓名、年龄以及所犯何事等关键信息,这样就能清晰地描述出具体的某个人。


正是这些不同的属性集合起来构成了一个对象,而所有这些属性基于群体层面的定义便形成了一个类。也就是说,通过这样的概念分析,我们便能明白,类是所有对象共性的产物,而对象则是一个个具备鲜明特征的具体且可被使用的个体产物。


那么这一过程可类比于如下概念。以汽车设计为例,在开展汽车生产活动时,往往会预先制定一份详尽的汽车设计图纸,而后依据该图纸进行汽车生产。


就汽车设计图纸与实际汽车而言,汽车设计图纸旨在定义所有汽车可能具备的共性特征,然而图纸本身并不具备行驶功能,需打造出符合图纸所规定特征的汽车实物,方可使其具备行驶能力,而此汽车实物便构成了一个对象。


image.png


由此而言,更为直白地讲,类是一个设计模板,对象则是可供实际应用的实例,确切地说,是先有类,而后才产生对象。


再举一例,假设林强担任人事部经理一职,我向其提出招聘一名秘书的要求,然而他却将李旭招至麾下。如此一来,我内心想必会有所不满,毕竟我所期望的秘书形象应是温文尔雅的,而招来之人若为行事风格粗放、形象与预期不符之人,在我身边举止随意,这自然难以令我接受,势必要做出相应调整。


实际上,秘书这一岗位本身便存在相应标准。需明确的是,同一标准往往存在不同的具体表现形式。例如,就李旭而言,或许有人评价其年逾五旬,在秘书领域颇具威望,业务处理能力颇为出众,这是一种秘书的具体情形,但这并非契合我需求的秘书类型。


由此可见,一个标准会呈现出多样化的实现方式。我所要求招聘的“秘书”,实则是一个标准,也就是类的体现,而依照这一标准开展招聘工作,将符合要求之人招致麾下后,便可安排其履行相应工作职责,若招聘到其他符合标准的秘书,同样可使其承担相应事务处理任务。


由此可知,类不能直接被使用,而对象是能够直接投入应用的,这便是二者的重要区别所在。


在类的构成中,通常包含两个组成部分。其一,我们通常称之为成员属性,有时为了表述简便,也会简称为属性,但准确来讲应是成员属性。其二,我们将其称作成员行为,也常叫做操作方法,其本质是用于定义对象所具备的处理行为。


image.png


或许大家对属性的概念不太明晰,在此举例说明。例如,一个人的年龄、姓名等信息,各不相同,对于整体而言,这些便统称为属性。就好比王建因某事被送至派出所,工作人员要求其填写姓名、年龄、身份证号以及所涉事由等详细信息,这便是每个人所具备的具体属性内容。正是这些不同的属性,使得每个人成为独一无二的个体,我们能够轻易区分彼此,也是得益于这些属性的差异。


而所谓操作方法,指的是一些具体的行为动作。比如,一个人可以唱歌、跳舞、游泳、进行运动,像李旭做俯卧撑这类行为,都属于操作方法的范畴。说得直白些,类是对象得以产生的依据,对象则是用于具体的实际应用。那么,对象所能使用的范畴能否超出类所定义的范围呢?


不妨假设一种情况,人通常无法在水下呼吸,若强行将人置于水下,可能一分钟不到,就会被水呛死,甚至被水中生物啃食殆尽。又或者假设人能飞,像从窗户飞出去这样有悖常理的行为,显然并非人类本身所具备的行为能力。


由此可见,类中所定义的方法,才是对象能够使用的方法,类中具备的属性,才是对象可用于进行数据保存的所在。


所以说,这便是类与对象之间的关系,从逻辑顺序来讲,是先有类,而后才有对象。



相关文章
|
3月前
|
存储 缓存 资源调度
# Qwen3-8B 的 TTFT 性能分析:16K 与 32K 输入 Prompt 的推算公式与底层原理详解
Qwen3-8B 是通义实验室推出的 80 亿参数大模型,支持最长 32,768 token 上下文,适用于长文本处理场景。通过 FP8 量化、CUDA Kernel 优化及 RoPE 位置编码技术,提升推理效率与稳定性。模型在 16K 输入下 TTFT 约 150-200ms,32K 输入下约 250-300ms,适用于文档摘要与长对话交互。
847 7
|
资源调度 前端开发 API
Kiwi-国际化全流程解决方案
目前有很多成熟的库可以帮助前端去做对应的国际化方案,比较知名的有 react-intl 以及 I18N-loader。这些库都可以很好的解决代码中多种语言切换的问题
Kiwi-国际化全流程解决方案
|
7月前
|
UED SEO
如何使用网站模版建设网站?
本文介绍了如何选择网站模板建站的步骤,包括确定网站类型和目标的重要性、选择模板品牌、网站内容修改和部署测试、以及网站上线后的维护。模板建站的优势包括便捷性和低成本、用户体验高、快速建站和节省成本。
212 7
|
7月前
|
设计模式 网络协议 Java
04.里式替换原则介绍
里式替换原则(LSP)是面向对象设计的重要原则之一,确保子类可以无缝替换父类而不破坏程序功能。本文详细介绍了LSP的定义、背景、理解方法及应用场景,通过电商支付和鸟类飞行案例展示了如何遵循LSP,并分析了其优缺点。LSP强调子类应保持父类的行为一致性,有助于提高代码的可扩展性、可维护性和可重用性,但也可能导致过度设计。最后,对比了LSP与多态的区别,明确了LSP作为设计原则的重要性。
246 4
|
7月前
|
编解码 人工智能 测试技术
CogView4开源发布!智谱AI文生图模型支持任意长度双语输入,汉字生成能力突出,可商用!
今天智谱AI正式发布并开源了最新的图像生成模型——CogView4。
572 10
CogView4开源发布!智谱AI文生图模型支持任意长度双语输入,汉字生成能力突出,可商用!
|
1月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
601 1
|
4月前
|
运维 监控 数据可视化
一文详解:工业软件“低代码开发平台”技术架构研究与分析
本文围绕工业软件低代码开发平台的机遇与挑战,提出基于自动化引擎的技术架构,由工具链、引擎库、模型库、组件库、工业数据网关和应用门户组成。文章分析了其在快速开发、传统系统升级中的应用模式及价值,如缩短创新周期、降低试错成本、解决资源缺乏和提升创新可复制性,为我国工业软件产业发展提供参考和支持。
|
6月前
|
人工智能 自然语言处理 测试技术
通义灵码入选 “2025 年值得关注的 AIGC 产品”,是唯一入选的 AI 编程产品
阿里云的通义灵码是一款基于通义大模型的AI编程助手,能够智能生成代码、优化结构、排查错误并自动生成测试用例,支持多种主流编程语言。在2025年入选《值得关注的AIGC产品》榜单,凭借卓越技术与广泛应用场景成为国内开发者首选。通义灵码已在国内多个行业落地,大幅提升开发效率与代码质量,同时针对中文编程场景优化,支持企业内网部署保障数据安全,推动AI编程技术在教育与科研领域的创新应用。
|
7月前
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
207 1
|
7月前
|
Oracle Java 关系型数据库
课时48:JavaDoc文档简述
主要讲解了Java DOC文档的使用方法和技巧。首先,介绍了Java DOC的简介,强调了在开发过程中需要大量使用API文档。其次,详细解析了Java DOC的组成结构,包括位的完整定义、类的相关说明以及方法的详细解释。 1.Java DOC简介 2.Java DOC文档的组成
163 20