Discussão do artigo "Os Fundamentos da programação orientada a objetos" - página 2

 
Urain:

A propósito, estou surpreso com o fato de esses paradigmas fundamentais não serem abordados na descrição da OOP na ajuda.

Isso não é OOP, mas uma consequência de sua aplicação em sua percepção dos modelos.
 
Urain:

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.

Esses são truques de programação em vez de recursos diretos de OOP.

Com relação à agregação:

Na programação orientada a objetos, a agregação (também chamada de composição ou inclusão) refere-se à técnica de criar uma nova classe a partir de classes existentes por meio de aninhamento. A agregação também é comumente mencionada como uma "relação de associação", da mesma forma que "um carro tem carroceria, rodas e motor".

Os objetos aninhados de uma nova classe geralmente são declarados privados, o que os torna inacessíveis aos programadores de aplicativos que trabalham com a classe. Por outro lado, o criador da classe pode modificar esses objetos sem interferir no código do cliente existente. Além disso, a substituição de objetos aninhados em tempo de execução permite que você altere dinamicamente o comportamento do programa. O mecanismo de herança não tem essa flexibilidade, porque as restrições são definidas para as classes derivadas, que são verificadas no estágio de compilação.

Com base na agregação, o método de delegação é implementado, quando uma tarefa atribuída a um objeto externo é delegada a um objeto interno especializado em resolver tarefas desse tipo.

http://ru.wikipedia.org/wiki/Агрегирование_( programming)

Portanto, esse é o espírito da OOP que permeia toda a OOP.
 
sergeev:

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

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

Na minha opinião, você me confundiu com outra pessoa.
 
Urain:

Associação e outras formas de vincular classes.

Bem, o que é isso para ) . Aqui estão os padrões, sim, mas não é o nível dos iniciantes.
Número inteiro:

Um ponto:

m_size.

O prefixo m_ nas convenções de nomenclatura comuns é prefixado aos membros de dados da classe. Ele se destina principalmente a distinguir explicitamente variáveis locais de dados de classe em métodos.

Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 
Integer:
É possível escrever funções em uma estrutura? Provavelmente ponteiros para uma classe - eu já vi e experimentei, é melhor não saber.
Experimente - você pode escrever e chamá-los. E você deveria.
[Excluído]  
Urain:

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.


estilo da fonte corrigido
 
bom artigo... facilita a compreensão da OOP, obrigado.
 
TheXpert:
Bem, para que serve? Os padrões são sim, mas esse não é o nível dos iniciantes.

Um momento:

m_size.

O prefixo m_ nas convenções comuns de nomenclatura é anexado aos membros de dados da classe. Ele se destina principalmente a distinguir explicitamente variáveis locais de dados de classe em métodos.


O prefixo m_ foi usado durante a programação com o MFC, aplicado a variáveis privadas e protegidas; não há outras convenções "geralmente aceitas". Depois que o MFC saiu de cena, todos se esqueceram de todos esses m_ estúpidos, graças a Deus )). Se não acredita, baixe os exemplos e veja por si mesmo (há uma seção sobre MFC também) http://archive.msdn.microsoft.com/vcsamples.

Visual C++ Samples and Related Documentation for Visual Studio 2010 - Home
  • archive.msdn.microsoft.com
French, German, Italian, Japanese, Korean, Russian, Simplified Chinese, Spanish, Traditional Chinese The Microsoft Visual C++ 2010 Sample Library provides code examples for applications and tools showing the capabilities of Visual C++ and the libraries and technologies it supports. Visual Studio 2010 Samples are now live! Click on the links...
 
VDev:

O prefixo m_ era usado na programação com o MFC, aplicado a variáveis privadas e protegidas; não há outras convenções "geralmente aceitas". Depois que o MFC saiu de cena, todos esses m_ estúpidos foram esquecidos, graças a Deus )) Para quem não acredita, baixe os exemplos e veja por si mesmo (há uma seção sobre o MFC também) http://archive.msdn.microsoft.com/vcsamples.

Não. При чем тут MFC? https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F

é conveniência e nada mais. Cada empresa de programação pode ter suas próprias regras.

Венгерская нотация — Википедия
  • ru.wikipedia.org
Суть венгерской нотации сводится к тому, что имена идентификаторов предваряются заранее оговорёнными префиксами, состоящими из одного или нескольких символов. При этом, как правило, ни само наличие префиксов, ни их написание не являются требованием языков программирования, и у каждого программиста (или коллектива программистов) они могут быть...
 

Artigo muito necessário!

Sugiro que os desenvolvedores criem uma nova categoria para os artigos. Algo como "Fundamentos (teoria) da programação"....