Una pregunta para los expertos en POO. - página 18

 

Unafunción virtual es una plantilla de función que se almacena en una clase base y que sólo puede implementarse en clases descendientes. Las clases también pueden ser virtuales. Las clases virtuales que contienen funciones virtuales se denominan "interfaces". Juntos implementan uno de los principales mecanismos de la POO: el polimorfismo.

Sólo en la práctica, no entiendo dónde ponerlo...

 
Georgiy Merts:

¿Por qué?

El núcleo global y la POO no son mutuamente excluyentes.

Sólo los elementos de las ventanas deberían estar encapsulados dentro de las clases de las ventanas, no "tirados por ahí a la vista de todos". Sólo para que nadie pueda "equivocarse de lugar" accidentalmente. Cambiar una variable y equivocarse en su ubicación dentro de una enorme matriz global es muy fácil, mientras que es mucho más difícil consultar la interfaz correcta y luego cambiar la misma variable en el objeto correcto y equivocarse.

Por desgracia, son mutuamente excluyentes. Un núcleo global implica una visibilidad global que elimina la necesidad de

(1)En la encapsulación de código. ¿Por qué, si todo es accesible desde cualquier lugar?

(2 )Sobrecarga de funciones. ¿Por qué cuando es más fácil hacer el trabajo en uno, haciendo que los resultados sean universalmente visibles y accesibles?

(3)Polimorfismo. ¿Por qué ocultar diferentes implementaciones bajo una plantilla, cuando una unidad puede hacer el trabajo de esas variantes de la plantilla? La cantidad de código sería menor y la sintaxis sería muchas veces más sencilla.

Todo el sentido de la POO radica en lo siguiente:

1. Descarga de la memoria humana. (Está mal descargado. Hay demasiada sintaxis).

2. Distribución del trabajo común dentro de un equipo (todo el mundo conoce un trozo de código, por lo que habrá problemas de construcción y depuración).

3. Portabilidad del código. (Esto es realmente una ventaja).

4. El marketing. Distribución y venta de entornos de desarrollo, bibliotecas, a través de la publicidad de diversos gadgets.

 
Реter Konow:

Por desgracia, excluyente. Un núcleo global implica una visibilidad global, lo que elimina la necesidad de

(1)En el código encapsulado. ¿Por qué, si todo es accesible desde cualquier lugar?

(2 )Sobrecarga de funciones. ¿Por qué cuando es más fácil hacer el trabajo en uno, haciendo que los resultados sean universalmente visibles y accesibles?

(3)Polimorfismo. ¿Por qué ocultar diferentes implementaciones bajo una plantilla, cuando una unidad puede hacer el trabajo de esas variantes de la plantilla? La cantidad de código sería menor y la sintaxis sería muchas veces más sencilla.

Todo el sentido de la POO radica en lo siguiente:

1. Descarga de la memoria humana. (Está mal descargado. Hay demasiada sintaxis).

2. Distribución del trabajo común dentro de un equipo (todo el mundo conoce un trozo de código, por lo que habrá problemas de construcción y depuración).

3. Portabilidad del código. (Esto es realmente una ventaja).

4. El marketing. Distribución y venta de entornos de desarrollo, bibliotecas, a través de la publicidad de diferentes artilugios.

¿Quién es usted y qué quiere demostrar? ¿Que la OOP es mala y un montón de cosas en un solo lugar es buena? ¿Para eso has creado este hilo? ¿O quieres aumentar tu ego alabando tu supermemoria? Me parece que es tu alter ego. Nada más.
Entonces el hilo pierde su sentido práctico: puede titularse "Mírame". Es inútil.

Todo lo que te dicen lo cuestionas inmediatamente, sin olvidar añadir cómo eres, y cómo eres, y cómo todo es bueno y mejor, y cómo el mundo entero es estúpido, y otras cosas inherentes a una carga desaprensiva y nihilista en su manifestación más hermosa del hombre.

 
Artyom Trishkin:

¿Quién es usted y qué quiere demostrar? ¿Que la OOP es mala y un montón de cosas en un solo lugar es buena? ¿Para eso has creado este hilo? ¿O quieres aumentar tu ego alabando tu supermemoria? Me parece que es tu alter ego. Nada más.
Entonces el hilo pierde su sentido práctico: puede titularse "Mírame". Es inútil.

Todo lo que te dicen lo cuestionas de inmediato, sin olvidar añadir cómo eres, y cómo te va, y cómo todo es bueno y mejor, y cómo el mundo entero es estúpido, y otras cosas inherentes a un nihilismo desaprensivo y agobiado en su más bella manifestación del hombre .

Lo estás haciendo de nuevo, ¿no?)) Creí que habías dejado de trolear mis hilos. No puedes resistirte a ser personal. No puedo...)

Cuando una persona se pone personal, significa que no tiene nada que decir sobre el asunto. Aparentemente, los argumentos son de peso.
 

El argumento a favor de la POO es sencillo: la gente la necesita.

Llegados a este punto, podemos dar por terminado el tema.

 
Реter Konow:

Por desgracia, excluyente. Un núcleo global implica una visibilidad global, lo que elimina la necesidad de

(1)En el código encapsulado. ¿Por qué, si todo es accesible desde cualquier lugar?

(2 )Sobrecarga de funciones. ¿Por qué cuando es más fácil hacer el trabajo en uno, haciendo que los resultados sean universalmente visibles y accesibles?

(3)Polimorfismo. ¿Por qué ocultar diferentes implementaciones bajo una plantilla, cuando una unidad puede hacer el trabajo de esas variantes de la plantilla? La cantidad de código sería menor y la sintaxis sería muchas veces más sencilla.

Todo el sentido de la POO radica en lo siguiente:

1. Descarga de la memoria humana. (Está mal descargado. Hay demasiada sintaxis).

2. Distribución del trabajo común dentro de un equipo (todo el mundo conoce un trozo de código, por lo que habrá problemas de construcción y depuración).

3. Portabilidad del código. (Esto es realmente una ventaja).

4. El marketing. Distribución y venta de entornos de desarrollo, bibliotecas, a través de la publicidad de diversos trucos.

Así que son cosas diferentes.

Tengo en cualquier EA (en la misma Liga) - hay objetos con alcance global.

Pero su núcleo puede ser representado como una clase que tiene un montón de funciones - getter setters, como resultado será bastante "OOP-like", pero con acceso global. Aunque, por supuesto, sin las principales ventajas de la POO - encapsulación, herencia y polimorfismo.

En cuanto a lo que descansa la POO, la primera debería completarse no sólo con la descarga de la memoria (y se descarga muy bien), sino también con la descarga del soporte y la modificación del código. Y además, es mucho más fácil reutilizar los desarrollos que están en OOP-diseño que sin él. Por cierto, "4 - marketing" es sólo una consecuencia de este uso mucho más fácil.

 
Artyom Trishkin:

Todo lo que te dicen, lo cuestionas inmediatamente, sin olvidar añadir cómo eres, y cómo todo es bueno y mejor, y cómo el mundo entero es un idiota, y otras cosas inherentes a un nihilista inculto y agobiado en su mejor manifestación.

Artem, envidio la memoria de Peter...

Por no hablar del hecho de que Peter intentó y ofreció algunas ideas reales.

 

Informativo, pero no para la lectura de iniciación al temaPatrones OOP en metáforas

puramente sobre el tema del contenido:¿Qué son los antipatrones?

 
Igor Makanu:

Informativo, pero no para la lectura de iniciación al temaPatrones OOP en metáforas

puramente sobre el tema del contenido:¿Qué son los antipatrones?

El segundo artículo es más útil y, en mi opinión, de obligada lectura para todos, independientemente del estilo de programación que practiquen.
 
Реter Konow:

Unafunción virtual es una plantilla de función que se almacena en una clase base y que sólo puede implementarse en clases descendientes. Las clases también pueden ser virtuales. Las clases virtuales que contienen funciones virtuales se denominan "interfaces". Juntos implementan uno de los principales mecanismos de la POO: el polimorfismo.

Sólo en la práctica, no entiendo dónde ponerlo...

Las funciones virtuales son aquellas que pueden ser sobrescritas en una clase derivada. una plantilla es diferente en cualquier contexto.

Una implementación particular puede estar en una clase base. o no (si la función es puramente virtual)

Las clases no pueden ser virtuales, pueden ser abstractas. existe la herencia virtual, pero no es necesario molestarse en ello.

la interfaz es, a grandes rasgos, una clase abstracta con nada más que funciones puramente virtuales.

las funciones virtuales son sólo una parte del polimorfismo - el polimorfismo dinámico. la sobrecarga y las plantillas son estáticas.

Puedes hacerlo en todas partes, sólo tienes que dejar que todo pase por tu pensamiento tabular plano.

Razón de la queja: