Discussão do artigo "Os Fundamentos da programação orientada a objetos"

 

Novo artigo Os Fundamentos da programação orientada a objetos foi publicado:

Você não precisa saber o que são polimorfismo, encapsulação, etc. tudo sobre o uso da programação orientada a objeto (OOP)... você pode simplesmente usar estes recursos. Este artigo cobre o básico de OOP com exemplos práticos.

Figura 5. Acessando funções por usuários de classe

Autor: Dmitry Fedoseev

 

Por que os códigos não são executados por meio do estilizador?

Será difícil para um novato ler, pois ele verá um estilo no ME e outro no artigo.

ZY O artigo não revela os problemas de conexão de classes.

Em geral, é claro, a OOP é um tópico complexo, não é fácil descrevê-lo em uma linguagem simples, mas é preciso começar de algum lugar.

 

Gostei do artigo, graças ao autor.

Mas o código é ilegível - concordo com o orador anterior.

 
Urain:

1. Por que os códigos não são executados pelo estilizador?

Será problemático para um iniciante ler, pois no ME ele vê um estilo e no artigo outro.

2. ZY O artigo não revela os problemas de comunicação entre classes.

Em geral, é claro, a OOP é um tópico complexo, não é fácil descrevê-lo em uma linguagem simples, mas é preciso começar de algum lugar.


1. intrigado. Parece que eu o executei. Definitivamente, executei!

Aqui está:

~CName(){ Alert("Destruidor"+IntegerToString(m_arg)); }
void Sleep()  { Sleep(3000); }

Não é meu estilo de forma alguma (chaves de uma linha).

2. Esclareça, não está claro, qual é a conexão?

 

Aparentemente, a pergunta é mais para os desenvolvedores.

Citação:A diferença é que as estruturas de dados podem incluir variáveis.

Em C++, uma estrutura é definida como uma classe, cujos membros são todos abertos.

Na versão atual da MQL5 - 555, também é possível usar um método-membro em uma estrutura.

Isso é uma omissão da compilação atual e está planejado para permitir o uso apenas de membros de dados no futuro?

 
Integer:
...

2. Esclarecer, não está claro o que é a associação?

Associação e outras formas de vincular classes.

 
Urain:

Associação e outras formas de vincular classes.

Não estou entendendo."Usar a OOP para alterar a lógica de um programa" não é isso?

Ou agrupar várias classes em uma única classe? - Há algo de especial nisso, que é o fato de você poder declarar ponteiros para outras classes em uma classe.

 
Dima_S:

Aparentemente, a pergunta é mais para os desenvolvedores.

Citação:A diferença é que as estruturas de dados podem incluir variáveis.

Em C++, uma estrutura é definida como uma classe, cujos membros são todos abertos.

Na versão atual da MQL5 - 555, também é possível usar um método-membro em uma estrutura.

Isso é uma omissão da compilação atual e está planejado para permitir o uso apenas de membros de dados no futuro?


As funções podem ser escritas em uma estrutura? Provavelmente, ponteiros para a classe - vistos, experimentados, é melhor não saber disso.
 
Integer:
É possível escrever funções em uma estrutura?
É possível.
 
Dima_S:

Aparentemente, a pergunta é mais para os desenvolvedores.

Citação:A diferença é que as estruturas de dados podem incluir variáveis.

Em C++, uma estrutura é definida como uma classe, cujos membros são todos abertos.

Na versão atual da MQL5 - 555, também é possível usar um método-membro em uma estrutura.

Isso é uma omissão da compilação atual e está planejado para permitir o uso apenas de membros de dados no futuro?


Abra a ajuda sobre estruturas e leia também a conversão de tipos, sobre estruturas.

Os membros de método estavam disponíveis desde o início. Por que você quer removê-los?

 
Integer:

1) Não estou entendendo. "Usar a OOP para alterar a lógica de um programa" não é isso?

2) Ou agrupar várias classes em uma única classe? - Há algo nisso, que é o fato de você poder declarar ponteiros para outras classes em uma classe.

1 Não, não é, é o uso de herança.

2 é mais quente, é Composition, que é uma das três opções de vinculação, juntamente com Association e Aggregation.

A propósito, estou surpreso que esses paradigmas fundamentais não sejam abordados na descrição da OOP na ajuda.