建设部网站监理工程师报名江门网站建设方案

张小明 2026/1/3 4:47:51
建设部网站监理工程师报名,江门网站建设方案,wordpress 翻译更新,网站建设问题作为程序员#xff0c;在学习或使用面向对象编程#xff08;OOP#xff09;时#xff0c;类与类之间的关系是一个绕不开的话题。合理地建模类之间的关系#xff0c;不仅能让代码更清晰#xff0c;也能显著提升系统的可维护性和扩展性。 文章目录一、为什么要理解类之间的…作为程序员在学习或使用面向对象编程OOP时类与类之间的关系是一个绕不开的话题。合理地建模类之间的关系不仅能让代码更清晰也能显著提升系统的可维护性和扩展性。文章目录一、为什么要理解类之间的关系二、类与类之间的六种常见关系三、依赖关系Dependency1、概念2、示例3、特点四、关联关系Association1、概念2、示例2.1双向关联2.2单向关联2.3自关联3、特点五、聚合关系Aggregation1、概念2、示例3、特点六、组合关系Composition1、概念2、示例3、特点七、继承关系Inheritance1、概念2、示例3、特点八、实现关系Implementation1、概念2、示例3、特点九、关系强度对比总结一、为什么要理解类之间的关系在真实世界中对象之间往往不是孤立存在的例如学生属于某个班级汽车由发动机、轮胎等组成程序员是一种“人”面向对象设计正是通过类与类之间的关系来描述这些现实世界的联系。理解这些关系有助于建立合理的领域模型避免“上帝类”“面条代码”更好地遵循 SOLID等设计原则读懂 UML 类图和优秀框架源码二、类与类之间的六种常见关系从弱到强、从“使用”到“拥有”常见的类关系主要包括以下几种依赖Dependency关联Association聚合Aggregation组合Composition继承Inheritance实现Implementation下面将逐一介绍。三、依赖关系Dependency1、概念依赖关系是一种使用关系它是对象之间耦合度最弱的一种关联方式是临时性的关联。在代码中某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类被依赖类中的某些方法来完成一些职责。依赖关系表示一个类在“使用”另一个类但这种关系是临时的、不稳定的。通常体现在方法参数局部变量返回值2、示例UML 表示在 UML 类图中依赖关系使用带箭头的虚线来表示箭头从使用类指向被依赖的类。classDriver{publicvoiddrive(Carcar1){car1.move();}}这里Driver依赖Car但并不持有它。3、特点生命周期无关关系最弱修改被依赖类可能影响使用方四、关联关系Association1、概念关联关系的核心是连接。它意味着一个类的对象实例可以“导航”到另一个类的对象通常是通过属性成员变量来持有对另一个对象的引用。这种关系是双向的但具体的实现导航性可以是单向的。关联关系表示一个类“知道”另一个类并将其作为成员变量。这是一种长期存在的关系。2、示例2.1双向关联在UML类图中双向关联用一个不带箭头的直线表示。下图中在Student类中维护一个ListCourse表示一个学生可以选择多门课程在Course类中维护一个Student类型的成员变量表示这门被哪个学生所选。2.2单向关联classStudent{privateAddressaddress;}每个学生都有一个家庭地址学生和地址之间存在单向关联关系。2.3自关联自关联在UML类图中用一个带有箭头且指向自身的线表示。上图的意思就是Node类包含类型为Node的成员变量也就是“自己包含自己”,自己指向自己。3、特点双方生命周期可以独立可以是单向或双向是一种结构性关系五、聚合关系Aggregation1、概念聚合关系是关联关系的一种是强关联关系是整体和部分之间的关系。聚合关系也是通过成员对象来实现的其中成员对象是整体对象的一部分但是成员对象可以脱离整体对象而独立存在。如下示例所示部门解散后员工仍然存在。聚合是关联关系的一种特例表示“整体 - 部分”关系但部分可以独立于整体存在。2、示例 UML 表示空心菱形 实线classDepartment{privateListEmployeeemployees;}部门解散后员工仍然存在。3、特点弱拥有关系部分对象生命周期独立六、组合关系Composition1、概念组合表示类之间的整体与部分的关系但它是一种更强烈的聚合关系。在组合关系中整体对象可以控制部分对象的生命周期一旦整体对象不存在部分对象也将不存在部分对象不能脱离整体对象而存在。如下示例所示房子没了房间也就不存在了。组合也是整体-部分关系但更强部分对象不能脱离整体单独存在。2、示例 UML 表示实心菱形 实线classHouse{privateRoomroom;}房子没了房间也就不存在了。3、特点强拥有关系生命周期绑定更符合封装原则七、继承关系Inheritance1、概念继承关系是对象之间耦合度最大的一种关系是父类与子类之间的关系是一种继承关系。如下示例的类图猫和狗继承了了动物的吃的方法。继承表示一种“is-a”是一个的关系。子类可以复用父类的属性和行为。2、示例 UML 表示空心三角形 实线classAnimal{voideat(){}}classDogextendsAnimal{}classCatextendsAnimal{}3、特点强耦合破坏封装风险应慎用优先考虑组合八、实现关系Implementation1、概念实现关系是接口与实现类之间的关系。在这种关系中类实现了接口类中的操作实现了接口中所声明的所有的抽象操作。如下示例的类图汽车和飞机实现了交通工具。实现关系表示类对接口的实现是一种“can-do”的关系。2、示例 UML 表示空心三角形 虚线interfaceVehicle{voidmove();}classCarimplementsVehicle{publicvoidmove(){}}classPlaneimplementsVehicle{publicvoidmove(){}}3、特点面向接口编程的核心解耦具体实现有利于扩展和测试九、关系强度对比总结关系类型强度生命周期绑定常见关键词依赖⭐否use关联⭐⭐否know聚合⭐⭐⭐否has-a组合⭐⭐⭐⭐是owns-a继承⭐⭐⭐⭐⭐是is-a实现⭐⭐⭐⭐是can-do参考资料黑马程序员 - bilibili.com类和类之间的关系_类与类之间的关系-CSDN博客
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站怎么做发送邮件的超链接wordpress文章如何置顶

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 快速开发一个R语言原型项目,实现:1)简易REST API接口接收下载请求;2)支持多种下载协议(http/ftp/sftp);3)下载队列管理;4…

张小明 2025/12/29 15:52:35 网站建设

江苏省城乡建设局网站首页鹤壁建设网站推广公司

Excalidraw在教育场景的应用:教师也能轻松上手 在高中信息技术课上讲“TCP三次握手”,你有没有遇到过这样的窘境?刚在白板上画完第一个箭头,就有学生举手:“老师,客户端和服务器的位置是不是反了&#xff1…

张小明 2025/12/29 16:07:03 网站建设

东莞网站建设优化技术不懂代码用cms做网站

线性方程求解与量子 - 经典混合算法解析 1. 线性方程求解概述 线性方程求解是一个历史悠久的数学问题。早在近两千年前,中国就有关于求解线性方程的技术记载,其方法与现代的高斯消元法有显著的相似之处。而第一台数字计算机——阿塔纳索夫 - 贝瑞计算机(ABC),也是专门为…

张小明 2025/12/31 4:30:22 网站建设

网站二级域名怎么解析中国十大建筑设计事务所

Git下载速度慢?使用镜像站快速获取Qwen3-VL-8B模型 在多模态AI应用日益普及的今天,开发者常常面临一个看似简单却极其影响效率的问题:从Hugging Face或GitHub克隆像 Qwen3-VL-8B 这样的大型模型时,下载速度慢得令人抓狂。几十GB的…

张小明 2025/12/29 18:10:05 网站建设

执法局网站建设目的wordpress博客文章导出

Android智能代理评估新范式:动态基准环境如何重塑移动AI测试标准 【免费下载链接】androidgen-glm-4-9b 项目地址: https://ai.gitcode.com/zai-org/androidgen-glm-4-9b 在移动AI技术快速迭代的当下,传统评估方法正面临严峻挑战。如何准确衡量A…

张小明 2025/12/31 6:57:00 网站建设

做网站云服务器2m宽带够用吗做公司网站的步骤

基于MPC的智能车运动预测和控制算法 Motion predication; Kinematic model //. MATLAB coding //. 加入求解步骤进而得到自定义成本函数的可扩展MPC控制器; //. 模型状态空间方程线性化和离散化; //. 可与风险场/人工势场/决策/轨迹跟踪等算法集成; //. 需要用到车辆运动学模…

张小明 2025/12/29 19:21:05 网站建设