Uma pergunta para os especialistas do OOP. - página 7

 
É isso, estou indo para aprender o OOP. Responderei a todos quando eu voltar).
 
Nikolai Semko:

Não poupe 45 minutos, Peter. No início, é muito importante entender do que este indivíduo está falando. Muitos provavelmente irão discutir com ele, mas em geral ele está certo:


Uma palestra interessante, mas muitas perguntas permanecem. Ele fala sobre o efeito prejudicial dos setters e getters mas me explica, qual é a diferença, se eu introduzo erros nos setters ou no construtor? Então, acontece que a SB MQL5 é apenas um grande erro? Há muitos desses colonizadores e getters, não há?

 
Alexey Viktorov:

Palestra interessante, mas há muitas perguntas a mais. Aqui ele está falando sobre os danos dos setters e getters, mas por favor me explique, qual é a diferença, onde você comete erros, ao entrar em alguns valores através de setters ou no construtor? Então, acontece que a SB MQL5 é apenas um grande erro? Há muitos desses colonizadores e getters, não há?

também olhou para estes 45 minutos ontem.... bem, é como se até mesmo os estudantes tivessem esmagado o autor em pedaços.

A teoria diz muito bem: aqui está o objeto, ele deve ser capaz de fazer tudo - e não deve estar amarrado ao hardware porque você comanda o PC, não você! Se o objeto não sabe fazer algo, escrevemos outra pequena classe, na prática não é este o caso - se você se recusar a controlar um objeto, haverá blocos de código repetitivo, a herança resolverá parcialmente este problema, mas em geral, em vez de resolver o problema, o programador recebe um monte de objetos (ou uma montanha de dor? )))) e terão que descobrir como administrar tudo isso ...... imho, se os gigantes da TI escreveram códigos semelhantes em lógica, funciona, e inovadores, bem, eles sempre foram e serão, mas seus resultados, por alguma razão, não são visíveis.

SZS: como mudar a cor do botão? - matar o objeto anterior e criar um novo botão de uma cor diferente? - e como você obtém o status de botão? - e se for um esquema de cores de centenas de botões - novamente matar todos eles e criar outros... ;)

 
Igor Makanu:

também assistiu a este 45 minutos ontem.... bem, até mesmo os estudantes meio que esmagaram o autor.

A teoria diz muito bem: aqui está o objeto, ele deve ser capaz de fazer tudo - e tudo isso não deve estar ligado ao hardware porque você comanda o PC, e não o PC! Se o objeto não sabe fazer algo, escrevemos outra pequena classe, na prática não é este o caso - se você se recusar a controlar um objeto, haverá blocos de código repetitivo, a herança resolverá parcialmente este problema, mas em geral, em vez de resolver o problema, o programador recebe um monte de objetos (ou uma montanha de dor? )))) e terão que descobrir como administrar tudo isso ...... imho, se os gigantes da TI escreveram códigos semelhantes em lógica, funciona, e inovadores, bem, eles sempre foram e serão, mas seus resultados, por alguma razão, não são visíveis.

ZS: como mudar a cor do botão? - matar o objeto anterior e criar um novo botão de uma cor diferente? - e como você obtém o status de botão? - e se for um esquema de cores de centenas de botões - matá-los todos novamente e criar outros... ;)

O engraçado é que mesmoa aplicaçãoinconsciente dos princípios do OOP traz resultados bastante tangíveis!

 
Alexey Viktorov:

Palestra interessante, mas há muitas perguntas a mais. Aqui ele está falando sobre os danos dos setters e getters, mas por favor me explique, qual é a diferença, onde você comete erros, ao entrar em alguns valores através de setters ou no construtor? Então, acontece que a SB MQL5 é apenas um grande erro? Há muitos desses colonizadores e getters.

Os desenvolvedores fizeram tudo corretamente - a Biblioteca Padrão está focada no nível de entrada, e para a maioria das tarefas é bastante suficiente. Para escrever em OOP (e não apenas fazer malabarismos com termos) é necessário um nível avançado e certo tipo de pensamento. Se você não o tem, você ainda podetransformar tudo em aulas pensando que isto é OOP. Provavelmente não pode ser ensinado - a compreensão vem com o tempo.

 
A100:

Se você não tiver, você ainda pode embrulhar tudo nas aulas, pensando que isto é OOP.

Mais uma vez você está tentando mostrar sua esperteza, mas infelizmente você não mostra seus exemplos, e mais uma vez você está tentando pensar em algo para pessoas que você não conhece, para dizer, para...

imho, mesquinho, desagradável, tentando ser desagradável - em geral, não se distraia ))))

 
Igor Makanu:

Mais uma vez você está tentando mostrar sua inteligência, mas infelizmente você não mostra exemplos disso, e mais uma vez você está tentando inventar coisas para pessoas que você não conhece, para...

imho, mesquinho, desagradável, tentando ser mau - em geral, não se distraia ))))

Estou lhe mostrando os exemplos errados - dando-lhe assim a vara, mas não o peixe.

 
A100:

Eu mostro exemplos errados - dando assim uma cana de pesca, mas não um peixe.

O que está errado? os exemplos funcionam no testador e no comércio

tenho escrito repetidamente que se for conveniente, isso significa que pode e deve ser usado

Implantar a herança para estratégias simples, das quais cada comerciante nos fóruns Runet tenta inventar uma dúzia ou mais a cada semana, na maioria dos casos não faz sentido, enquanto meus exemplos permitem fornecer uma rápida portabilidade do código pronto.

Se você tem uma pergunta ou sugestão específica, talvez eu gostaria de discuti-la, se não, qual é o objetivo de discutir algo que não está lá?

 
Igor Makanu:

qual é o erro? os exemplos funcionam tanto no testador como no comércio

O erro é do ponto de vista do OOP, não do ponto de vista do resultado final. Se você não entender qual é o erro, volte a assistir ao vídeo e, em seguida, e novamente e novamente - até obter um entendimento. Esta é a primeira vez que eu mesmo vi este vídeo, mas não consegui explicá-lo de forma tão simples e compreensível.

 
A100:

Um erro em termos de OOP, não em termos do resultado final. Se você não entender o que é o erro, assista ao vídeo novamente, então novamente e novamente - até que o entendimento chegue

Infelizmente, não vai, o orador não pôde sequer responder as perguntas dos alunos, as perguntas estavam corretas.

Vamos aos aspectos práticos.

Suspeito que você apoia o autor do vídeo, seu nome é Egor (está escrito assim), a mensagem principal do vídeo era para entrar completamente no OOP - o verdadeiro OOP!

OK! dê um exemplo simples de como usar o OOP como sugerido pelo autor, a tarefa é simples, ele mesmo mencionou o trabalho com arquivos e ele mesmo não pôde responder à pergunta dos estudantes

Uso a classe CFile com bastante regularidade - sou preguiçoso demais para escrever código extra e estou acostumado a usar código pronto, ele resolve bem meus problemas

O que no CFile, na sua opinião, deveria ser reescrito com base no que o autor do vídeo disse?

Razão: