フォーラムはどうした? - ページ 6

 
Yuriy Asaulenko:

それは、MT-MQLが提供するツールを十分に活用したということなのです。それでいいんです。

足りないツールは何かと聞いたのですが?

 
Georgiy Merts:

私は、どんな道具が足りないのかと尋ねました。

OOPです。それが欠けているのです。

MQLにはいくつかのツールがありますが、もちろんそれらはC++などに移植することができます。しかし、OOPという概念そのものが、MTではサポートされていないのです。MTは閉じたエコシステムです。MTで概念としてのOOPを適用する ことは不可能です。

 
Yuriy Asaulenko:

MQLはOOPの概念を非常に限定的に、ほとんどはいくつかのツールの面だけでサポートしています。MT-MQLは、自己完結型の自己満足な構造(エコシステム - 開発者によると)である。MT-MQLでOOPの概念を議論したり、適用したりすることは、全く無駄なことです。そして、クラス-継承などの枠組みの中では、面白みがない。


プログラミングってなんだろう?)

 
Petros Shatakhtsyan:


プログラミングが何なのか分かっているのか?)

いいえ、そんなことはありません。

 
JavaにあるようなInterfacesがなければ、このMQL5には本格的なOOPは存在しないのです。パロディのようなものしかない...。
 
Georgiy Merts:

いいえ、よく、利益は、彼らの行動にコメントし、Shared Projectsを通じて彼らのコードを示す、書くために何かを言う、取得することが可能であり、したい人 - それらを補完してみましょう。 私はこれらの非常に人々が喜んでされることを疑うだけを持っている。

ここに何のメリットがあるのかわからない。お金のためのトレーニング?この話題はとっくの昔に死んだ、誰も金を出さない。そして、8年半のフリーフライトの間、誰も私の給料を払ってはくれません。)

 
Roffild:
JavaにあるようなInterfacesがなければ、このMQL5には本格的なOOPは存在しないのです。パロディのようなものしかない...。
//--- базовый интерфейс для описания животных 
interface IAnimal 
  { 
//--- методы интерфейса по умолчанию имеют public-доступ 
   void Sound();  // звук, который издает животное 
  }; 
//+------------------------------------------------------------------+ 
//|  класс CCat наследуется от интерфейса IAnimal                    | 
//+------------------------------------------------------------------+ 
class CCat : public IAnimal 
  { 
public: 
                     CCat() { Print("Cat was born"); } 
                    ~CCat() { Print("Cat is dead");  } 
   //--- реализуем метод Sound интерфейса IAnimal 
   void Sound(){ Print("meou"); } 
  }; 
//+------------------------------------------------------------------+ 
//|  класс CDog наследуется от интерфейса IAnimal                    | 
//+------------------------------------------------------------------+ 
class CDog : public IAnimal 
  { 
public: 
                     CDog() { Print("Dog was born"); } 
                    ~CDog() { Print("Dog is dead");  } 
   //--- реализуем метод Sound интерфейса IAnimal 
   void Sound(){ Print("guaf"); } 
  }; 
//+------------------------------------------------------------------+ 
//| Script program start function                                    | 
//+------------------------------------------------------------------+ 
void OnStart() 
  { 
//--- массив указателей на объекты типа IAnimal 
   IAnimal *animals[2]; 
//--- породим потомков IAnimal и сохраним указатели на них в массив     
   animals[0]=new CCat; 
   animals[1]=new CDog; 
//--- вызовем метод Sound() базового интерфейса IAnimal для каждого потомка   
   for(int i=0;i<ArraySize(animals);++i) 
      animals[i].Sound(); 
//--- удалим объекты 
   for(int i=0;i<ArraySize(animals);++i) 
      delete animals[i]; 
//--- результат выполнения 
/* 
   Cat was born 
   Dog was born 
   meou 
   guaf 
   Cat is dead 
   Dog is dead 
*/ 
  }
 
Alexey Volchanskiy:

ここに何のメリットがあるのかわからない。お金のためのトレーニング?この話題はとっくの昔に死んだ、誰も金を出さない。そして、8年半の間、誰も私の給料を払ってくれませんでした、フリーフライトで ))

君は本当にすごいね。教育...どんなトレーニング?このクラス継承に関することは、『C++ for Dummies』の20ページで説明されている。読める人は自分で学び、読めない人は......どんな訓練も意味がない。そして、それは私たちよりもずっと前からよく知られていたことなのです。

学問は、その素質がある人以外にはほとんど報われませんが、ほとんど必要ありません。(c) D.ギボンズ
 
Yuriy Asaulenko:

OOPです。それが欠けているのです。

MQLにはいくつかのツールがあり、もちろんそれらはC++などに移植することができます。しかし、OOPという概念そのものが、MTではサポートされていないのです。MTは閉じたエコシステムです。MTで概念としてのOOPを適用する のは無理がある。

裏がない

 
Alexey Volchanskiy:

確証もないのに変なこと言うなあ

継承クラスとその応用がOOPだと考えているのなら、確かにおかしなことを言っていますね。確かにクラスを適用するのは便利ですが、まだOOPではなく、ツールのひとつに過ぎないのです。

ZS C++の最初のバージョンの1つが何と呼ばれていたか覚えていますか?Cのクラスで、OOPについては全く触れていません)。