文章 "面向对象编程基础"

 

新文章 面向对象编程基础已发布:

您无需了解什么是多态性、什么是封装性,以及使用面向对象编程(OOP)相关的一切内容……您可能只需要使用这些功能就好了。本文中涵盖了 OOP 的基础知识,且带有亲身实践示例。

图 5. 类用户访问函数 

作者:Dmitry Fedoseev

 

为什么代码不通过样式表

这将使新读者难以阅读,因为他在 ME 中看到的是一种样式,而在文章中看到的是另一种样式。

ZY 文章没有揭示类连接的问题。

当然,总的来说,OOP 是一个复杂的话题,用简单的语言来描述它并不容易,但你必须从某个地方开始。

 

我喜欢这篇文章,感谢作者。

但代码实在看不懂--我同意前一位发言者的观点。

 
Urain:

1.为什么代码不通过样式表

这对初学者来说是个问题,因为他在 ME 中看到的是一种样式,而在文章中看到的是另一种样式。

2.ZY 这篇文章没有揭示类交流的问题。

当然,总的来说,OOP 是一个复杂的话题,用简单的语言来描述它并不容易,但你必须从某个地方开始。


1. 百思不得其解。我好像跑过了。肯定跑了!

就是这样:

~CName(){ Alert("毁灭者"+IntegerToString(m_arg)); }
void Sleep()  { Sleep(3000); }

完全不是我的风格(单行大括号)。

2.澄清一下,不清楚,有什么联系?

 

显然,这个问题更多是问开发人员的。

引文:区别在于数据结构 只能包含变量。

在 C++ 中,结构被定义为一个类,其所有成员都是开放的。

在当前版本的 MQL5 - 555 中,您也可以在结构中使用成员方法。

这是否是当前版本的疏漏,是否计划将来 允许使用数据成员

 
Integer:
...

2.澄清,不清楚关联是什么?

关联和其他连接类的方式。

 
Urain:

关联和其他连接类的方法。

我不明白。是"使用 OOP 来改变程序的逻辑 "吗?

或者把几个类包装成一个类?- 你可以在一个类中声明指向其他类的指针,这是有道理的。

 
Dima_S:

显然,这个问题更多是问开发人员的。

引文:区别在于数据结构 只能包含变量。

在 C++ 中,结构被定义为一个类,其所有成员都是开放的。

在当前版本的 MQL5 - 555 中,您也可以在结构中使用成员方法。

这是否是当前版本的疏漏,是否计划将来 允许使用数据成员


函数可以写在结构体中吗?可能是指向类的指针--看过、试过,还是不知道的好。
 
Integer:
你能在结构体中编写函数?
可以。
 
Dima_S:

显然,这个问题更多是问开发人员的。

引文:区别在于数据结构 只能包含变量。

在 C++ 中,结构被定义为一个类,其所有成员都是开放的。

在当前版本的 MQL5 - 555 中,您也可以在结构中使用成员方法。

这是否是当前版本的疏漏,是否计划将来 允许使用数据成员


请打开有关结构的帮助,并阅读有关结构的类型转换。

方法成员从一开始就可用。为什么要删除它们?

 
Integer:

1) 我不明白。是 "使用 OOP 来改变程序的逻辑 "吗?

2) 或者把几个类包装成一个类?- 你可以在一个类中声明指向其他类的指针,这有什么问题吗?

1 不是,这是继承的使用。

2 是变暖,它是组成(Composition),是与关联(Association)和聚合(Aggregation)并列的三种绑定选项之一。

顺便说一句,我很惊讶帮助中对 OOP 的描述竟然没有涉及这些基本范式。