OOP思想> IS-A,IS-LIKE-A,HAS-A的区别

本文介绍了面向对象编程中的IS-A(继承)、HAS-A(组合)和IS-LIKE-A(接口实现)概念。IS-A关系体现在类的继承上,如PC机和工作站都是计算机的子类。HAS-A关系是对象通过属性区分,如PC机的操作系统。IS-LIKE-A表示新类型拥有旧类型的接口但包含额外功能,如手机既是微型计算机也有通讯功能。正确理解这些关系有助于合理设计类和接口。
摘要由CSDN通过智能技术生成

IS-A

代表类与类之间的继承关系

在知识表示、面向对象程序设计与面向对象设计的领域里,is-a英语,包含架构)指的是类的父子继承关系,例如类D是另一个类B的子类(类B是类D的父类)。 换句话说,通常”Dis aB”(BD包含在内,或是D被包含在B内)指的是,概念体D物是概念体B物的特殊化,而概念体B物是概念体D物的一般化。举例来说,水果是苹果、橘子、芒果与其他水果的一般化。

“is a”代表的是类之间的继承关系,比如PC机是计算机,工作站也是计算机。PC机和工作站是两种不同类型的计算机,但都继承了计算机的共同特性。因此在用 Java语言实现时,应该将PC机和工作站定义成两种类,均继承计算机类

HAS-A

代表的是对象和它的成员的从属关系

同一种类的对象,通过它们的属性的不同值来区别。比如一台PC机的操作系统是Windows,另一台PC机的操作系统是Linux。操作系统是PC机的一个成员变量,根据这一成员变量的不同值,可以区分不同的PC机对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值