Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 与2个以上班级的一般互动_C#_C++_Qt - Fatal编程技术网

C# 与2个以上班级的一般互动

C# 与2个以上班级的一般互动,c#,c++,qt,C#,C++,Qt,所以还有很多东西要学 我有三个独立的课程,分别是饮料、库存和平衡 这些类相互关联,只有当你有足够的余额并且仍然有供应时,你才能订购饮料 用2个类写出来比较容易,但用3个类我不知道这些类是如何交互的。。。 有人有什么想法吗?类似的想法可能是: public interface IOrder { bool CanOrder(); bool Order(); } public class Beverage : IOrder { Stock _stock = null;

所以还有很多东西要学

我有三个独立的课程,分别是饮料、库存和平衡

这些类相互关联,只有当你有足够的余额并且仍然有供应时,你才能订购饮料

用2个类写出来比较容易,但用3个类我不知道这些类是如何交互的。。。
有人有什么想法吗?

类似的想法可能是:

public interface IOrder
{
   bool CanOrder(); 
   bool Order(); 
}


public class Beverage : IOrder 
{
   Stock _stock = null; 
   Balance _balance = null; 

   //In order to be able to construct Beverage, you HAVE TO
   //pass Stock and Balance 
   public Beverage(Stock stock, Balance balance) {
      _stock = stock; 
      _balance = balance;
   } 

   //interface implementation
   public void Order () {

      if(!CanOrder())
        return;

      //make order
   }

   //interface implementation
   public bool CanOrder() {
       //check here against _stock and _balance 
       //if can order
   }
}

有很多未知数,太多了,无法给出高质量的答案,所以这个问题有点模糊。试着举一个你遇到问题的小例子,然后把它贴出来。有数百万种方式来进行交互。这是C还是C++问题?qt是如何发挥作用的呢。你想要C++还是C的解决方案?你已经开始了;您已经识别了名词,名词往往对应于类。在设计课程之前,有两个问题需要回答。首先,在这些名词中,有多个实例有什么意义?很明显,你可以喝两种饮料。你能要两个余额吗?两支股票?逻辑上只能有一个对象的对象可能很难建模,所以首先确定这些对象。第二,适用于名词的动词是什么,特别是与名词相关的动词是什么?汽车有轮子,但在路上行驶;这些都是非常不同的动词。现在回答这样一个模糊的问题真是一件勇敢的事情。投赞成票,谢谢蒂格兰!作为一个傻瓜,我花了很长时间才弄明白;所以回复晚了,但是你的帖子很有用!