假设有两个类:DataTag 与 DataTagValue。DataTagValue是DataTag对象将过加工后产生的对象。
目前有两种方式,设计这种关系。
第一种是:Is a的方式,继承的方式。如下代码所示:
public class DataTag {
protected int tagId;//测点Id
protected String tagName;//测点名称
protected String tagDesc;//测嗲描述
protected String tagUnit;//测点单位
protected String tagDataSource;//测点数据源
protected String tagType;//测点的类型。
protected int tagOrder;//标签排序用
}
public class DataTagValue extends DataTag {
/**
*
*/
private static final long serialVersionUID = 2688238773074983855L;
private Date date;// 日期
private float value;// 值
private String singnal;// 状态
private String valueType;
}
第二种是:Has a的方式,即引用的方式。如下代码所示:
public class DataTag {
protected int tagId;//测点Id
protected String tagName;//测点名称
protected String tagDesc;//测嗲描述
protected String tagUnit;//测点单位
protected String tagDataSource;//测点数据源
protected String tagType;//测点的类型。
protected int tagOrder;//标签排序用
}
public class DataTagValue {
private DataTag tag;//这里将此作为私有属性来处理。
private Date date;// 日期
private float value;// 值
private String singnal;// 状态
private String valueType;
}
采用这两种方式有什么区别?可能有人会提到和怎么使用有关系。那我在这里假设一种使用场景。
假设现在要计算某DataTag对象的10个时间的数据,会产生10个DataTagValue,这种情况下继承方式和引用方式,哪种 刚能节省内存?
分享到:
相关推荐
FLASH创意设计教程-相关引申知识PDf,大家看看
数据类型引申和思考
springboot本文研究了垃圾分类网站的设计与实现,在文章开端首先对个研究背景、研究现状和研究内容作了简单的介绍,然后通过系统分析,引申出本系统研究的主要内容。 通过对Java语言和MYSQL数据库的简介,从硬件和...
建造者模式【Builder Pattern】(三)问题引申
行业文档-设计装置-一种带有轮子的图书及所引申的文化用品
05_强化训练数组类_类的设计和测试程序 06_强化训练数组类_类的实现和测试 07_友元函数 08_友元类 09_运算符重载入门基础推演_传智扫地僧 10_运算符重载语法理论知识介绍 11_中午课程回顾 12_成员函数和友元函数完成...
03_思路的二次引申1
古汉语词义引申的方式.doc
• 第4 章:介绍RTL 建模的概念和一些常用电路的Verilog 设计方法,最后引申 出Verilog 语言的可综合子集。 第5 章:总结了常用的RTL 同步设计原则,逐一介绍了设计模块的划分、设 计组合逻辑和时序逻辑时应该注意的...
高考完形填空常考词义引申归纳.doc
面向对象设计的主要任务就是类的设计,不少面向对象(OO)的先驱和前辈已经提出了很多关于类的设计原则,用于指导OOP,其中就包括类设计的五项基本原则。 1.单一职责原则(Single Resposibility Principle,SRP) ...
NULL 博文链接:https://dingran.iteye.com/blog/1766186
01词义的引申,正反反正表达法精选.ppt
恒大发展模式引申探讨未来房地产发展模式.doc
...
...
某地产发展模式引申探讨未来房地产发展模式.docx
新能源汽车政策工具运用的国际镜鉴与引申.pdf