前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java千百问_05面向对象(006)_is-a,has-a,like-a是什么

Java千百问_05面向对象(006)_is-a,has-a,like-a是什么

作者头像
林老师带你学编程
发布2019-05-26 00:04:41
3570
发布2019-05-26 00:04:41
举报
文章被收录于专栏:强仔仔强仔仔

1、is-a,has-a,like-a是什么

在面向对象设计的领域里,有若干种设计思路,主要有例如以下三种: is-a、has-a、like-a java中在类、接口、抽象类中有非常多体现。

了解java看这里:什么是Java 了解类和对象看这里:类、对象究竟有什么秘密 了解接口和抽象类看这里:接口和抽象类有什么差别

2、is-a是什么

is-a。顾名思义,是一个。代表继承关系。

假设A is-a B,那么B就是A的父类。 一个类全然包括还有一个类的全部属性及行为。 比如PC机是计算机,工作站也是计算机,PC机和工作站是两种不同类型的计算机。但都继承了计算机的共同特性。因此在用Java语言实现时,应该将PC机和工作站定义成两种类,均继承计算机类。 了解很多其它继承看这里:java类的继承有什么意义

3、has-a是什么

has-a,顾名思义。有一个。代表从属关系。 假设A has a B,那么B就是A的组成部分。 同一种类的对象,通过它们的属性的不同值来差别。

比如一台PC机的操作系统是Windows,还有一台PC机的操作系统是Linux。

操作系统是PC机的一个成员变量,依据这一成员变量的不同值,能够区分不同的PC机对象。

4、 like-a是什么

like-a。顾名思义。像一个,代表组合关系。 假设A like a B,那么B就是A的接口。 新类型有老类型的接口,但还包括其它函数,所以不能说它们全然同样。 比如一台手机能够说是一个微型计算机,可是手机的通讯功能显然不是计算机具备的行为,所以手机继承了计算机的特性,同一时候须要实现通讯功能。而通讯功能须要作为单独接口。而不是计算机的行为。

5、is-a,has-a,like-a怎样应用

假设你确定两件对象之间是is-a的关系,那么此时你应该使用继承。比方菱形、圆形和方形都是形状的一种。那么他们都应该从形状类继承。

假设你确定两件对象之间是has-a的关系,那么此时你应该使用聚合。比方电脑是由显示器、CPU、硬盘等组成的。那么你应该把显示器、CPU、硬盘这些类聚合成电脑类。 假设你确定两件对象之间是like-a的关系,那么此时你应该使用组合。比方空调继承于制冷机,但它同一时候有加热功能。那么你应该把让空调继承制冷机类,并实现加热接口。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年04月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、is-a,has-a,like-a是什么
  • 2、is-a是什么
  • 3、has-a是什么
  • 4、 like-a是什么
  • 5、is-a,has-a,like-a怎样应用
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档