博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中类的组合机制
阅读量:4561 次
发布时间:2019-06-08

本文共 647 字,大约阅读时间需要 2 分钟。

             经过课堂学习,了解了类的组合机制,之前只是介绍过java中类的继承,忽略了类的组合,今天补上。

          在java中如果一个类A中有你想要调用的方法,在你新建一个类B时,可以将想要用的类A的对象引用作为数据成员,就可以将类B看作是由类A组合而成的。

          以一个具体的例子,解释一下:

                       这个例子就是想创建一个类A,A有一个发射的方法,而已知的类FighterPlane有这个方法,所以就想用现成的方法,用到类的组合。目的是A的对象可以调用FighterPlane的方法,所以A类里面必须有一个FighterPlane对象的引用类型的数据成员,之后进行这个数据成员的初始化,要让它和一个FighterPlane的对象关联起来,即需要给A类的构造方法里传入实参,进行初始化。FighterPlane ftp = new FighterPlane("su35",10);这时产生了一个FighterPlane的对象和指向此对象的引用,之后 A  a   = new A(ftp); 则完成了A中的fp的初始化,A类的对象可以调用FighterPlane的方法了。

                   其实本质上就是A类的数据成员的数据类型比较特殊,但是同简单数据类型一样,也是进行初始化。另外,讲讲类的组合的优点,类的组合使用的是对象的引用,可以和不同的对象关联,但是在类的继承时,子类继承了父类所有的数据成员和方法,很笨重。因此尽量用组合,少用继承。

 

                                                               

                                                            

转载于:https://www.cnblogs.com/Wangjiaq/p/8618950.html

你可能感兴趣的文章
符号函数(sign function)性质及应用
查看>>
jieba(结巴)—— Python 中文分词
查看>>
图的遍历
查看>>
20180925-6 四则运算试题生成
查看>>
orcale数据恢复
查看>>
深入理解Flink ---- Metrics的内部结构
查看>>
学习日记9、easyui控件两次请求服务器端问题
查看>>
一个CSDN程序员苦逼的一天又一天——序
查看>>
IDA_杂_记录
查看>>
.netcore加入APM系统 SkyWalking
查看>>
spring cloud(Greenwich.M2) hystrix dashboard 报/actuator/hystrix.stream 404 Not Found的问题
查看>>
lock与C#多线程
查看>>
骑马式瘦腿瑜伽 消除肌肉型小腿
查看>>
要检测两个C文件的代码的抄袭情况
查看>>
PHP-多域名单点登陆方案
查看>>
iOS开发之应用内支付IAP全部流程
查看>>
【web技术】html特效代码(一)
查看>>
SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
查看>>
高可用集群搭建
查看>>
Lua学习笔记
查看>>