在线等!一个类的设计问题,咋这么个问题就难倒我了,悲哀啊!

问题描述

各位大侠好,现在有一个关于建立实体的难题:业务逻辑如下:炼钢厂连铸机有3个段:5段、6段、7段,每个段有如下数据(压力、位移、电流)需要表示:压力:压力又分为A口压力、B口压力位移:位移又分为缸1位移、缸2位移、缸3位移、缸4位移电流:电流又分为上辊电流、下辊电流那么5段需要表示的数据就有:5段上辊电流、5段下辊电流、5段1缸位移、5段2缸位移、5段3缸位移、5段4缸位移、5段A口压力、5段B口压力请问这些个实体类怎么建立啊,头痛死我了!

解决方案

解决方案二:
sf
解决方案三:
枚举吧
解决方案四:
写一个接口,再用工厂模式.
解决方案五:
3段.压力.A口压力
解决方案六:
各位大侠,能不能讲得清楚点,小弟C#与设计模式学得确实不咋的呢,谢谢!
解决方案七:
不太明白LZ的意思我觉得不就是这么多个属性吗5段上辊电流一个5段下辊电流一个。。。也可一把某一类型的做成结构让属性对应这个结构
解决方案八:
写一个方法,里面的属性就是那电呀什么的,传递参数(几段)
解决方案九:
也没明白,分为5,6,7段的连铸机不都是连铸机吗?这些实体的属性都是一样的,最多再加一个表示在哪个段的属性,也不算复杂吧?还是我没看明白?
解决方案十:
用抽象工厂
解决方案十一:
这么简单用得着工厂吗...一个类...4个属性+4个枚举...
解决方案十二:
你说的还没有用工厂简单呢
解决方案十三:
将所有的电压,电流,位移都做为属性就可以了
解决方案十四:
是太简单了还是我没看明白?enum压力{}enum位移{}enum电流{}class5段连铸机{压力m_压力;位移m_位移;电流m_电流;}
解决方案十五:
enum?那数据存在哪里?两层四个抽象类,连铸机,压力,位移,电流abstractclass连铸机{压力压力;位移位移;电流电流;通用属性;}class5段连铸机:连铸机class6段连铸机:连铸机class7段连铸机:连铸机

压力,位移,电流同上
解决方案:
有兴趣就在写个工厂
解决方案:
我来学习工厂模式的根据我的理解压力:压力又分为A口压力、B口压力位移:位移又分为缸1位移、缸2位移、缸3位移、缸4位移电流:电流又分为上辊电流、下辊电流可以做成3个结构(或者枚举?我不太熟悉枚举)段,这个做类,里面有上面的结构欢迎讨论阿
解决方案:
mark
解决方案:
谢谢各位!可能是我写得不够详细啦,不好意思!其实是这样的,我这个系统是一台连铸机的监控程序,一台连铸机分3个段组成:5、6、7段(567是编号),我们可以把这个段看作是连铸机的一个组成部份,每一个段有单独的上辊电流、下辊电流等实时信号我这个程序其中一个功能就是采集这些电流、压力等信号并进行处理
解决方案:
刚才我想到了使用单件模式,在整个系统的运行过程中始终只一个实例,对于段这个类来说还是可以的,但是电流、压力就不合适了如果电流、压力等类也使用单件模式的话,那么5、6、7段的电流、压力也就一样的了,但是事实却是567段的电流、压力是不一致的!想想办法解决吧!!!
解决方案:
struct电流{名称;值;}class段{名称;电流[];压力[];位移[];}class连铸机{段[];}
解决方案:
我的最终解决方案:将电流、压力、位移等设置为实体类,利用单件模式原理将这三个实体类设置为只能返回三个实例,三个实例最终对应为三个段(567段)。然后用单件模式创建567段三个类,将电流、压力、位移作为5、6、7段的属性,然后将567段作为连铸机的属性。我这里我还有一点没有想明白:如果用我这个方法设计的话,好像不能创建父类:段,然后567段继承父类:段
解决方案:
真的这么麻烦么?class连铸机{段5;段6;段7;}class段{//电流//压力//位移}

时间: 2024-09-17 08:05:38

在线等!一个类的设计问题,咋这么个问题就难倒我了,悲哀啊!的相关文章

编程-设计一个类用来表达两张牌的牌组,设计这个类的初始化方式

问题描述 设计一个类用来表达两张牌的牌组,设计这个类的初始化方式 设计一个类表达一组牌,设计牌组的初始化方式 //牌值 private string face; //花色 private string suit; public zupai(string suit, string face) { this.face = face; this.suit = suit; } //牌子 public string getFace() { return face; } //花色 public string

c#-C#做一个益智类游戏 设计思路

问题描述 C#做一个益智类游戏 设计思路 新手,老师留了一个课题用C#做一个搭桥的益智类游戏,游戏的链接:http://www.puzzle-bridges.com/ 求大神给个思路,具体怎么设计这个游戏 解决方案 遍历所有节点,按照规则判断.岛和岛只能水平垂直连接,每个岛的桥的数量和数字相等,桥不能交叉生成游戏可以随机先产生节点和网格,随机删除一些路径,然后标记好数字,画出来.

java-求做一个Java类的设计的题

问题描述 求做一个Java类的设计的题 Account类:代表一个银行账户 balance属性:代表账户里的金额 deposit方法:向账户中存钱,如果传入的金额大于0,存钱,返回true,否则不存钱,返回false withdraw方法:从账户中取钱,如果余额够,取钱,返回true,如果余额不足,不取钱,返回false display方法:用于查询当前帐户金额 解决方案 public class Account { private double balance;//定义账户的金额 /** *

c++-利用互斥对象实现线程同步,并且将线程设计成一个类,但是报错了,作业。。。

问题描述 利用互斥对象实现线程同步,并且将线程设计成一个类,但是报错了,作业... 源代码: #include #include #include using namespace std; int tickets=100; HANDLE hMutex; class MyThread { private: char name; HANDLE hThread; public: MyThread(char name2) { name=name2; hThread=CreateThread(NULL,0

一个java编程题目,类的设计问题

问题描述 今天去面试,得到的题目是:1.从一个文档中读取内容(文档内容为1-10十个数字,一个数字一行),输出到另外一个文档,输出格式为(1,2,3,...,10)2.数据库中存储了10条记录,一列,也是1-10,一个数字一条记录,读出,也输出到一个文档,格式同第一题.题目的要求是:怎么样设计类,使在开发过程中第一题变到第二题的修改部分较少,代码复用率低.附加:如果是输出到文档,改为输出到数据库的话,怎么设计. 学得不精,只想到了用继承来解决这个问题.还有什么别的设计思路呢? 解决方案 publ

c++在运行期间不会自动检查数组是否越界,设计一个类检查数组是否越界

/* c++在运行期间不会自动检查数组是否越界,设计一个类检查数组是否越界. */ #include <iostream> #include <string> using namespace std; class check { public: check(char*s) { str=new char[strlen(s)+1]; strcpy(str,s); len=strlen(s); } char operator[](int n) { if(n>len-1) { cou

那些意境情怀俱佳的咖啡类网页设计

  音乐可以穿越时光,而美食可以跨越国界,它们和好设计一样,都无需语言来赘述.在过去的几年中,那些设计优秀的餐馆.酒吧类网站开始抓住更多设计师的眼睛和吃货的胃,成了"唯有爱与美食不可辜负"的真实注脚. 新鲜精致的美食与优雅的环境无缝融合,搭配的字体和色彩让你的饥饿感止不住地翻涌起来,你的胃口和情绪会被这些精心设计的网站完全调动起来.优设曾经发过设计优异的美食和美酒类的网站,今天我们来看看这类网站的另外一个重要分支:咖啡类网页设计. 在美国,平均每个人每年会喝500~700杯咖啡,在中国

C++类的设计习惯及头文件重复包含问题的解决

在设计一个类的时候,通常是将类的定义及类成员函数的声明放到头文件(即.h文件)中,将类中成员函数的实现放到源文件(即.cpp)中.对于animal类需要animal.h和animal.cpp两个文件,同样,对于fish类需要fish.h和fish.cpp.对于main()函数,我们把它单独放到EX10.cpp文件中. 往一个现有工程添加头文件(.h文件)或源文件(.cpp文件)有两种方式:一种是在打开的工程中,单击[File]→[New],在左边的Files标签页下,选择C++ Header F

使用UML类图设计Java应用程序(一)

UML已成为面向对象设计的标准图形化工具,在UML定义的各种图中,本文只涉及类图.Java应用程序由许多类所构成,类图的设计与实现,是Java实现面向对象应用程序的核心.本文通过一个具体的应用程序的设计与实现过程,详细说明了利用UML类图设计Java应用程序,使得开发过程标准化.可视化,代码编程简单化. 在类图中,类被描述为带有三层的盒子. 顶层为类名,一般用加粗字体表示.如果类是抽象的,其名称用斜体表示:如果类是接口,则在类名上方标注<<interface>>. 中间层包含类的属