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

 

Umafunção virtual é um modelo de função que é armazenado em uma classe base. Ela só pode ser implementada em classes descendentes. As aulas também podem ser virtuais. As classes virtuais que contêm funções virtuais são chamadas de "interfaces". Juntos eles implementam um dos principais mecanismos do OOP - o polimorfismo.

Somente na prática, não entendo onde colocá-lo...

 
Georgiy Merts:

Por que isso deveria ser?

O kernel global e o OOP não são mutuamente exclusivos.

Apenas os elementos nas janelas devem ser encapsulados dentro das classes de janelas, e não "Deitados para todos verem". Só para que ninguém possa acidentalmente "entrar no lugar errado". Alterar uma variável e cometer um erro sobre sua localização dentro de uma enorme matriz global é muito fácil, enquanto é muito mais difícil consultar a interface correta e depois alterar a mesma variável no objeto certo e cometer um erro.

Infelizmente, eles são mutuamente exclusivos. Um núcleo global implica uma visibilidade global que elimina a necessidade de

(1)Em encapsulamento de código. Por que, quando tudo é acessível de qualquer lugar?

(2 )Sobrecarga de funções. Por que quando é mais fácil fazer o trabalho em um só, tornando os resultados universalmente visíveis e acessíveis?

(3)Polimorfismo. Por que ocultar diferentes implementações sob um modelo, quando uma unidade pode fazer o trabalho dessas variantes de modelo? A quantidade de código seria menor e a sintaxe seria muitas vezes mais simples.

O objetivo do OOP está no seguinte:

1. Descarga da memória humana. (Está mal descarregado. Há demasiada sintaxe).

2. Distribuição do trabalho comum dentro de uma equipe (todos conhecem um pedaço de código, portanto, haverá problemas de construção e depuração).

3. Portabilidade do código. (Isto é realmente uma vantagem).

4. Marketing. Distribuição e venda de ambientes de desenvolvimento, bibliotecas, através de publicidade de vários gadgets.

 
Реter Konow:

Ai de mim, excludente. Um kernel global implica uma visibilidade global, o que elimina a necessidade de

(1)No encapsulamento do código. Por que, quando tudo é acessível de qualquer lugar?

(2 )Sobrecarga de funções. Por que quando é mais fácil fazer o trabalho em um só, tornando os resultados universalmente visíveis e acessíveis?

(3)Polimorfismo. Por que ocultar diferentes implementações sob um modelo, quando uma unidade pode fazer o trabalho dessas variantes de modelo? A quantidade de código seria menor, e a sintaxe seria muitas vezes mais simples.

O objetivo do OOP está no seguinte:

1. Descarga da memória humana. (Está mal descarregado. Há demasiada sintaxe).

2. Distribuição do trabalho comum dentro de uma equipe (todos conhecem um pedaço de código, portanto, haverá problemas de construção e depuração).

3. Portabilidade do código. (Isto é realmente uma vantagem).

4. Marketing. Distribuição e venda de ambientes de desenvolvimento, bibliotecas, através de publicidade de diferentes artifícios.

Quem é você e o que você quer provar? Que o OOP é ruim e que um monte de coisas em um só lugar é bom? É só para isso que você criou esta linha? Ou você quer impulsionar seu ego elogiando sua super-memória? Parece-me que seu alter ego. Nada mais.
Então o fio perde seu significado prático - ele pode ser intitulado "Olhe para mim". É inútil.

Tudo o que lhe é dito lhe questiona imediatamente, não esquecendo de acrescentar como você é, e como você está fazendo, e como tudo é bom e melhor, e como o mundo inteiro é estúpido, e outras coisas inerentes a um niilismo desaprendido e sobrecarregado em sua manifestação mais bela do homem.

 
Artyom Trishkin:

Quem é você e o que você quer provar? Que o OOP é ruim e que um monte de coisas em um só lugar é bom? É só para isso que você criou esta linha? Ou você quer impulsionar seu ego, elogiando sua super-memória? Parece-me que seu alter ego. Nada mais.
Então o fio perde seu significado prático - ele pode ser intitulado "Olhe para mim". É inútil.

Tudo o que lhe é dito lhe questiona imediatamente, não esquecendo de acrescentar como você é, e como você está fazendo, e como tudo é bom e melhor, e como o mundo inteiro é estúpido, e outras coisas inerentes a um niilismo desaprendido e sobrecarregado em sua manifestação mais bela do homem .

Você está fazendo isso de novo, não está?)) Pensei que você tinha parado de pisar nos meus fios. Você não resiste a ficar pessoal. Eu não posso...)

Quando uma pessoa se torna pessoal, isso significa que ela não tem nada a dizer sobre o assunto. Aparentemente, os argumentos são de ferro.
 

O argumento do OOP é simples: as pessoas precisam dele.

Neste ponto, podemos encerrar o assunto.

 
Реter Konow:

Ai de mim, excludente. Um kernel global implica uma visibilidade global, o que elimina a necessidade de

(1)No encapsulamento do código. Por que, quando tudo é acessível de qualquer lugar?

(2 )Sobrecarga de funções. Por que quando é mais fácil fazer o trabalho em um só, tornando os resultados universalmente visíveis e acessíveis?

(3)Polimorfismo. Por que ocultar diferentes implementações sob um modelo, quando uma unidade pode fazer o trabalho dessas variantes de modelo? A quantidade de código seria menor e a sintaxe seria muitas vezes mais simples.

O objetivo do OOP está no seguinte:

1. Descarga da memória humana. (Está mal descarregado. Há demasiada sintaxe).

2. Distribuição do trabalho comum dentro de uma equipe (todos conhecem um pedaço de código, portanto, haverá problemas de construção e depuração).

3. Portabilidade do código. (Isto é realmente uma vantagem).

4. Marketing. Distribuição e venda de ambientes de desenvolvimento, bibliotecas, através de publicidade de vários artifícios.

Portanto, estas são coisas diferentes.

Eu tenho em qualquer EA (na mesma Liga) - há objetos com escopo global.

Mas seu núcleo pode ser representado como uma classe que tem um monte de funções - getter setters, como resultado será bastante "tipo OOP", mas com acesso global. Embora, é claro, sem as principais vantagens do OOP - encapsulamento, herança e polimorfismo.

Quanto ao OOP - o primeiro deve ser adicionado não apenas descarregando a memória (e descarrega muito bem), mas também descarregando o suporte e a modificação do código. E além disso, é muito mais fácil reutilizar desenvolvimentos que são muito mais fáceis de usar no projeto OOP do que sem ele. A propósito, "4 - marketing" é apenas uma conseqüência desta utilização muito mais fácil.

 
Artyom Trishkin:

Tudo o que lhe é dito, você questiona imediatamente, sem esquecer de acrescentar como você é, e como tudo é bom e melhor, e como o mundo inteiro é um idiota, e outras coisas inerentes a um niilista desaprendido e sobrecarregado em sua melhor manifestação.

Artem, invejo a memória de Peter...

Sem mencionar o fato de que Peter tentou oferecer algumas idéias reais.

 

Informativo, mas não para a leitura depadrões OOP em metáforas

puramente sobre o tema do conteúdo:O que são anti-padrões?

 
Igor Makanu:

Informativo, mas não para a leitura depadrões OOP em metáforas

puramente sobre o tema do conteúdo:O que são anti-padrões?

O segundo artigo é mais útil e, em minha opinião, de leitura obrigatória para todos, não importa o estilo de programação que praticam.
 
Реter Konow:

Umafunção virtual é um modelo de função que é armazenado em uma classe base. Ela só pode ser implementada em classes descendentes. As aulas também podem ser virtuais. As classes virtuais que contêm funções virtuais são chamadas de "interfaces". Juntos eles implementam um dos principais mecanismos do OOP - o polimorfismo.

Somente na prática, não entendo onde colocá-lo...

funções virtuais são aquelas que podem ser substituídas em uma classe derivada. um modelo é diferente em qualquer contexto.

Uma determinada implementação pode muito bem estar em uma classe base. ou não (se a função for puramente virtual)

As aulas não podem ser virtuais, elas podem ser abstratas. há herança virtual, mas você não precisa se preocupar com ela de forma alguma.

a interface é, grosso modo, uma classe abstrata com nada além de funções puramente virtuais.

funções virtuais são apenas uma parte do polimorfismo - polimorfismo dinâmico. sobrecarga e modelos são estáticos.

Você pode fazer isso em qualquer lugar, você simplesmente deixa tudo passar pela sua mesa plana pensando.

Razão: