//--- базовый интерфейс для описания животных 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 | //+------------------------------------------------------------------+ voidOnStart()
{
//--- массив указателей на объекты типа 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
*/
}
それは、MT-MQLが提供するツールを十分に活用したということなのです。それでいいんです。
足りないツールは何かと聞いたのですが?
私は、どんな道具が足りないのかと尋ねました。
OOPです。それが欠けているのです。
MQLにはいくつかのツールがありますが、もちろんそれらはC++などに移植することができます。しかし、OOPという概念そのものが、MTではサポートされていないのです。MTは閉じたエコシステムです。MTで概念としてのOOPを適用する ことは不可能です。
MQLはOOPの概念を非常に限定的に、ほとんどはいくつかのツールの面だけでサポートしています。MT-MQLは、自己完結型の自己満足な構造(エコシステム - 開発者によると)である。MT-MQLでOOPの概念を議論したり、適用したりすることは、全く無駄なことです。そして、クラス-継承などの枠組みの中では、面白みがない。
プログラミングってなんだろう?)
プログラミングが何なのか分かっているのか?)
いいえ、そんなことはありません。
いいえ、よく、利益は、彼らの行動にコメントし、Shared Projectsを通じて彼らのコードを示す、書くために何かを言う、取得することが可能であり、したい人 - それらを補完してみましょう。 私はこれらの非常に人々が喜んでされることを疑うだけを持っている。
ここに何のメリットがあるのかわからない。お金のためのトレーニング?この話題はとっくの昔に死んだ、誰も金を出さない。そして、8年半のフリーフライトの間、誰も私の給料を払ってはくれません。)
JavaにあるようなInterfacesがなければ、このMQL5には本格的なOOPは存在しないのです。パロディのようなものしかない...。
ここに何のメリットがあるのかわからない。お金のためのトレーニング?この話題はとっくの昔に死んだ、誰も金を出さない。そして、8年半の間、誰も私の給料を払ってくれませんでした、フリーフライトで ))
君は本当にすごいね。教育...どんなトレーニング?このクラス継承に関することは、『C++ for Dummies』の20ページで説明されている。読める人は自分で学び、読めない人は......どんな訓練も意味がない。そして、それは私たちよりもずっと前からよく知られていたことなのです。
学問は、その素質がある人以外にはほとんど報われませんが、ほとんど必要ありません。(c) D.ギボンズOOPです。それが欠けているのです。
MQLにはいくつかのツールがあり、もちろんそれらはC++などに移植することができます。しかし、OOPという概念そのものが、MTではサポートされていないのです。MTは閉じたエコシステムです。MTで概念としてのOOPを適用する のは無理がある。
裏がない
確証もないのに変なこと言うなあ
継承クラスとその応用がOOPだと考えているのなら、確かにおかしなことを言っていますね。確かにクラスを適用するのは便利ですが、まだOOPではなく、ツールのひとつに過ぎないのです。
ZS C++の最初のバージョンの1つが何と呼ばれていたか覚えていますか?Cのクラスで、OOPについては全く触れていません)。