Programação OOP vs procedimento - página 7

 
Реter Konow:
Estou vendo. Este é um argumento indiscutível a favor do OOP. Estupidez do cliente e falta de tempo para combatê-lo e falta de vontade de melhorar o algoritmo de outra pessoa). Sim, você precisa de OOP neste caso. Eu concordo).
Parece-me que você pode prescindir do OOP, mesmo neste caso
 
Реter Konow:
Estou vendo. Este é um argumento indiscutível a favor do OOP. estupidez do cliente e falta de tempo para combatê-lo e falta de vontade de melhorar o algoritmo de outra pessoa). Sim, você precisa de OOP neste caso. Eu concordo).

Por que é estúpido? A abordagem científica normal é ter tudo ao seu alcance para que você possa experimentar.

 
Реter Konow:
Estou vendo. Este é um argumento indiscutível a favor do OOP. Estupidez do cliente e falta de tempo para combatê-lo e falta de vontade de melhorar o algoritmo de outra pessoa). Sim, você precisa de OOP neste caso. Eu concordo).

Simplificar

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct str
  {
   int               Tickets;
   string            Symbols;
   int               Types;
   double            Lots;
   double            OpenPrice;
   double            StopLoss;
   double            TakeProfit;
   int               Slippage;
   string            Comments;
   int               Magic;
   datetime          Expiration;
   int               Digitss;
   double            Points;
   double            Profit;
   double            Commission;
   double            Swap;
   double            FullProfit;
  };

str Order[];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class COrderMass
  {
protected:
   int               m_slippage;
   string            m_symbol;
   int               m_magic;
public:
   void              SetSymbol(string aSymbol)    {m_symbol   = aSymbol;}
   void              SetSlippage(int aSlippage)   {m_slippage = aSlippage;}
   void              SetMagic(int aMagic)         {m_magic    = aMagic;}

                     COrderMass(void);
                     COrderMass(string aSymbol,int aMagic,int aSlippage);
   void              UpdateOrdersMass();
  };
//+------------------------------------------------------------------+
COrderMass :: COrderMass(string aSymbol,int aMagic,int aSlippage):m_symbol(aSymbol),m_magic(aMagic),m_slippage(aSlippage)
  {

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void COrderMass :: UpdateOrdersMass()
  {
   int z=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if(OrderMagicNumber()==m_magic || m_magic==-1)
            if(OrderSymbol()==m_symbol || m_symbol=="")
              {
               ArrayResize(Order,z+1,1000);
               Order[z].Tickets       = OrderTicket();
               Order[z].Symbols       = OrderSymbol();
               Order[z].Types         = OrderType();
               Order[z].Lots          = OrderLots();
               Order[z].OpenPrice     = OrderOpenPrice();
               Order[z].StopLoss      = OrderStopLoss();
               Order[z].TakeProfit    = OrderTakeProfit();
               Order[z].Slippage      = m_slippage;
               Order[z].Comments      = OrderComment();
               Order[z].Magic         = OrderMagicNumber();
               Order[z].Expiration    = OrderExpiration();
               Order[z].Digitss       = (int)SymbolInfoInteger(Order[z].Symbols,SYMBOL_DIGITS);
               Order[z].Points        = SymbolInfoDouble(Order[z].Symbols,SYMBOL_POINT);
               Order[z].Profit        = OrderProfit();
               Order[z].Commission    = OrderCommission();
               Order[z].Swap          = OrderSwap();
               Order[z].FullProfit    = Order[z].Profit+Order[z].Commission+Order[z].Swap;
               z++;
              }
  }
//+------------------------------------------------------------------+
 

Senhores argumentadores, vamos colocar desta forma, se você não entende o OOP, não sabe, vamos argumentar então não programação procedural vs. OOP, mas programação procedural com apontadores para funções vs. programação procedural sem apontadores para funções.

 
Vladimir Pastushak:

Simplificar


ou melhor, resolvê-lo com funções

 

O OOP é um progresso. Basta aceitá-lo e começar a estudá-lo. Pode vir a ser útil.

Классы в C++ — урок 10
Классы в C++ — урок 10
  • votos: 74
  • 2012.09.16
  • code-live.ru
Весь реальный мир состоит из объектов. Города состоят из районов, в каждом районе есть свои названия улиц, на каждой улице находятся жилые дома, которые также состоят из объектов. Практически любой материальный предмет можно представить в виде совокупности объектов, из которых он состоит. Допустим, что нам нужно написать программу для учета...
 
Vladimir Pastushak:

Simplificar


Pode não ser uma abordagem racional para carregar todas as ordens abertas com todos os seus parâmetros em uma matriz.

 
Dmitry Fedoseev:

Por que é estúpido? A abordagem científica normal é ter tudo ao alcance de seus dedos para a possibilidade de experimentação.

A estupidez ou abordagem normal é um sentimento subjetivo. Para mim é pura estupidez. Mas talvez eu também não esteja muito certo. Eu sei que não faria isso.
 
Dmitry Fedoseev:

Senhores argumentadores, vamos colocar desta forma, se você não entende o OOP, não sabe, vamos argumentar então não programação procedural vs. OOP, mas programação procedural com apontadores para funções vs. programação procedural sem apontadores para funções.

Vamos discutir se a programação estruturada - ou seja, a divisão de um programa em funções - é necessária
 
Реter Konow:
A estupidez ou a normalidade é um sentimento subjetivo. Para mim, é pura estupidez. Mas talvez eu também não esteja muito certo. Eu sei que não faria isso.

Leia este post aqui e reaja a elehttps://www.mql5.com/ru/forum/213378/page7#comment_5596988

Razão: