当前位置: 首页 > news >正文

继承与组合

目录

  • 1、继承与组合
  • 2、实例
  • 3、继承 VS 组合

1、继承与组合

  • 继承的详细知识可参考博客
    类和对象—继承
  • 和继承类似,组合也是一种表达类之间关系的方式,也可以使代码得到重用。
  • 组合并没有特殊的语法,只是将一个类的对象作为另一个类的字段。
  • 继承表示对象之间是 is-a 的关系;而组合表示对象之间是 has-a 的关系。比如说狗是一个动物,而汽车有一个发动机。
  • 由于继承使得代码的耦合性很高,因此一般建议能用组合就用组合。

2、实例

用汽车举个例子:汽车有轮胎、发动机和车载系统,因此轮胎、发动机、车载系统和汽车之间的关系是组合;而宝马是一个车,因此宝马和车之间的关系是继承。

// 轮胎类
public class Tire {
}

// 发动机类
public class Engine {
}

// 车载系统类
public class VehicleSystem {
}

// 车类
public class Car {
    // Tire  Engine  VehicleSystem 和 Car 类之间的关系就是组合
    protected Tire t;
    protected Engine e;
    protected VehicleSystem vs;
}

// 宝马车类
public class BMW extends Car {
	// 宝马是一个车,因此 BMW 和 Car 之间的关系是继承关系
}

3、继承 VS 组合

在这里插入图片描述

http://www.dtcms.com/a/107204.html

相关文章:

  • LlamaIndex实现RAG增强:融合检索(Fusion Retrieval)与混合检索(Hybrid Search)
  • [ 取证 ]取证学习,工具使用, 赛题复现
  • Day 6
  • 在Android中创建DialogFragment
  • 【光电集成电路技术】基于单片机的音乐梦幻灯与USB转接器设计,电子琴硬件组成及仿真电路实现
  • 【Java 优选算法】二分算法(下)
  • OpenGL进阶系列20 - OpenGL SuperBible - bindlesstex 例子学习
  • Flutter求助贴
  • 失效模式分析(FMEA)、控制计划(CP)、流程图(Flowchart)的无缝衔接与高效管理--全星FMEA软件系统
  • 《自然-方法》2024年度技术:空间蛋白质组学(spatial proteomics)
  • PyArrow 核心技术与应用:高效数据处理与跨生态集成实践
  • C语言常见3种排序
  • 利用vmware快速安装一个可以使用的centos7系统
  • QML弹窗
  • H(e^j\omega) H(\omega)
  • 计算机网络复习 吉林大学
  • PH热榜 | 2025-04-02
  • OSI每一层的SAP和CEP分别是什么
  • 宠物店小程序怎么做?助力实体店实现营销突破
  • vue3+vite,引入Tailwind问题汇总
  • 模型开源|支持东方40语种+中国22方言的新SOTA语音大模型Dolphin开源啦!
  • 制造业数字化转型:流程改造先行还是系统固化数据?基于以MTO和MTS的投资回报分析
  • 防爆风扇选型指南:根据风量风压匹配应用场景​
  • C语言函数实战指南:从零到一掌握函数设计与10+案例解析(附源码)
  • PPTAgent:一款开源免费生成和评估幻灯片的项目
  • QILSTE/旗光
  • RabbitMQ基础
  • 【5090d】配置运行和微调大模型所需基础环境【一】
  • 简述竞赛经历在考研复试中的作用
  • rom定制系列------红米note8pro原生安卓12批量线刷 安卓14批量线刷定制功能项 解锁bl后fast刷写