Perguntas de um "boneco" - página 129

 
MetaDriver:

E as indicações para as estruturas seriam muito úteis, e não têm de ser dinâmicas - o principal é que uma matriz de índices pode ser ordenada em vez das próprias estruturas.

// Em muitos casos, é indesejável substituir estruturas por classes. São económicos (sem tabela de métodos virtuais) e contêm dados "sólidos".

Em geral, é por isso que vamos introduzir a herança, pode sempre obter uma pega para uma classe reversível.
 
Urain:

Aqueles que começámos com o conjunto do qual a célula é herdada, aqueles que convergiram para uma classe, depois divergiram novamente em órgãos e convergiram novamente para uma classe de pessoas, e divergiram novamente em profissões.

Quanto a si, não sei, mas as pessoas normais não divergem em órgãos. A herança múltipla é uma coisa muito discutível, e não é por acaso que na linguagem C# mais avançada foi decidido recusar este mecanismo em favor de interfaces. Acha que os programadores C# não sabiam o que estavam a fazer?
 
C-4:
Não sei quanto a si, mas as pessoas normais não doam órgãos. A herança múltipla é uma coisa muito controversa, e não foi por acaso que na linguagem C# mais avançada se decidiu recusar este mecanismo em favor de interfaces. Acha que os programadores C# não sabiam o que estavam a fazer?

E quanto à doação de órgãos? :)

A questão é discutível e não completamente fechada, o facto é que C++ tem herança múltipla, MQL é posicionado como linguagem semelhante a C++, porque não?

 
C-4:
Não sei quanto a si, mas as pessoas normais não entram em órgãos. A herança múltipla é uma coisa muito controversa, e não foi por acaso que na linguagem C# mais avançada se decidiu recusar este mecanismo em favor de interfaces. Acha que os programadores C# não sabiam o que estavam a fazer?

Bazinga :)

Em primeiro lugar, porque raio é que o C# de repente se tornou a língua mais avançada?

Em segundo lugar, em C# decidiram negar a herança múltipla de classes em favor da herança múltipla de interfaces. ))) É mais fácil de implementar.

Vá aprender o assunto.

TheXpert:

Não à primeira vista, mas já o usei mais do que uma vez. E praticamente sem quaisquer variantes.

Retiro o que disse. Só utilizei a herança virtual para eliminar o problema da escolha ambígua da superclasse.
 
mql5:
Em geral, é por isso que vamos introduzir a herança, pode sempre obter uma pega para uma classe reversível...

...e uma tabela de métodos virtuais como um fardo, que é exactamente o que queríamos evitar :) Caso contrário, a questão não teria surgido.

Está bem, não é fatal. Vou usar uma matriz de índices adicional.
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
TheXpert:

Bazinga :)

1. em primeiro lugar, porque raio seria o C# a linguagem mais avançada de repente?

(2) Em segundo lugar, em C# foi decidido abandonar a herança múltipla de classes em favor da herança múltipla de interfaces. ))) É mais fácil de implementar.

1) Quais são exactamente as suas objecções? :)

2) Vamos pedir interfaces com herança múltipla. :)

 
TheXpert:

Bazinga :)

Em primeiro lugar, porque raio é que o C# de repente se tornou a língua mais avançada?

Em segundo lugar, em C# foi decidido abandonar a herança múltipla de classes em favor da herança múltipla de interfaces. ))) É mais fácil de implementar.

Vá aprender o assunto.

Retiro o que disse. a herança virtual só foi utilizada para remover o problema da ambiguidade da selecção de superclasses.

Não vou dar argumentos a favor da agregação, penso que você mesmo os conhece. Do mesmo modo, conheço os argumentos a favor da herança múltipla. E há muitas justificações por baixo delas, tanto de um lado como do outro. Acho que é uma questão de quem está mais próximo do quê. No caso da nossa agregação firme particular é muito preferível, uma vez que é mais fácil de desenvolver e manter pela nossa equipa.

Urain:

Aqueles que começámos com um conjunto do qual uma célula é herdada, aqueles convergiram para uma classe,depois divergiram novamente para órgãos e convergiram novamente para uma classe humana, depois divergiram novamente para profissões.

A profissão que tem, afinal, é o herdeiro da jaula, o que é de certa forma (inesperado) verdadeiro :). Para determinar o que é melhor utilizar neste caso particular, é necessário determinar a relação entre os dois objectos:

  1. O objecto A é o objecto B - herança
  2. O objecto A consiste em (tem, contém) objecto B - composição

 
MetaDriver:

1. Quais são exactamente as objecções? :)

2. vamos pedir interfaces. com herança múltipla. então eu vou apoiar. :)

2. Eu apoio
 
MetaDriver:

1. Quais são exactamente as objecções? :)

Cada língua tem a sua própria esfera de aplicação. Dizer que uma língua é "a mais avançada" em geral é absurdo.

2. vamos pedir interfaces. com herança múltipla. então eu vou apoiar. :)

Oh, vá lá! Que diferença faz o seu nome? O ponto quase não muda.
 

O C# é definitivamente a língua mais avançada. Tudo o resto ou está demasiado desactualizado ou é demasiado especializado.

A herança múltipla de interfaces não é o mesmo que a herança múltipla de classes. Este último tem uma hierarquia de cima para baixo, e por causa disso os ramos descendentes podem entrelaçar-se muito entre si, causando considerável confusão e confusão na arquitectura do projecto. No entanto, é mais fácil implementar a herança de interface: tem métodos unificados, por exemplo, pesquisa ou classificação, e se quiser ligar a sua classe a eles, escreva uma interface de interacção especial em conformidade. Isto não é uma muleta. Isto é C++ uma grande muleta escrita para a língua C.