//--- базовый интерфейс для описания животных 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是一个封闭的生态系统。将OOP 作为一个概念应用于MT是不可能的。
MQL以非常有限的方式支持OOP的概念,大多只是在一些工具方面。MT-MQL是一个自成一体、自给自足的(据开发者说)结构(一个生态系统--据开发者说)。在MT-MQL的框架内讨论或应用OOP的概念绝对是徒劳的。而在类-继承等的框架内,它并不有趣。
你知道什么是编程吗? 我怀疑 :)
你知道什么是编程吗? 我怀疑)。
不,我不知道。
不,好吧,利润是可以得到的,比如说,写一些东西,评论他们的行动,通过共享项目展示他们的代码,那些想要的人--让他们补充。 我只有怀疑这些非常人是否愿意。
我不明白这里有什么好处。为了钱而培训?这个话题很久以前就死了,没有人愿意付钱。而且没有人支付我8.5年的工资,在自由飞行))。
没有Java中的接口,MQL5中就没有成熟的OOP。只有一种模仿的方式...
我不明白这里有什么好处。为了钱而培训?这个话题很久以前就死了,没有人愿意付钱。而且在8.5年的时间里,没有人支付我的工资,在自由飞行中))
你真的很了不起。教育...什么培训?所有这些类-继承的东西在 "C++傻瓜 "的20页上都有解释。那些能读懂它的人将自己学习,而那些不能读懂的人--任何培训都不会有任何好处。而且在我们之前的很长一段时间里,它一直是众所周知的。
除了那些有倾向性的人,学习很少给人带来回报,但他们几乎不需要学习。(c) D. GibbonsOOP。这就是缺少的东西。
在MQL中,你有一些工具,当然它们可以被转移到C++等。但是OOP的概念本身并不被MT所支持。MT是一个封闭的生态系统。将OOP 作为一个概念应用于MT是不可能的。
你说的一些奇怪的事情,完全没有得到证实
你在说一些奇怪的事情,但完全没有得到证实
如果你认为继承类和它们的应用是OOP,那么你确实在说一些奇怪的话。是的,应用类很方便,但它还不是OOP,它只是其中的一个工具。
ZS 还记得C++的最早版本之一叫什么吗?C与类--根本没有提到OOP)。