Discusión sobre el artículo "Las bases de la programación orientada a objetos" - página 2

 
Urain:

Por cierto, me sorprende que estos paradigmas fundamentales no se incluyan en la descripción de la programación orientada a objetos de la ayuda.

Esto no es OOP, sino una consecuencia de su aplicación en su percepción de los modelos.
 
Urain:

1 No, no lo es, es el uso de la herencia.

2 es más cálido, es Composición, que es una de las tres opciones de vinculación, junto con Asociación y Agregación.

Por cierto, me sorprende que paradigmas tan fundamentales no estén cubiertos en la descripción de OOP en la ayuda.

Son trucos de programación más que características directas de la POO.

En cuanto a la agregación:

En programación orientada a objetos, la agregación (también llamada composición o inclusión) se refiere a la técnica de crear una nueva clase a partir de clases existentes mediante anidamiento. También se suele hablar de agregación como una "relación de pertenencia" del tipo "un coche tiene carrocería, ruedas y motor".

Los objetos anidados de una nueva clase suelen declararse privados, lo que los hace inaccesibles para los programadores de aplicaciones que trabajan con la clase. En cambio, el creador de la clase puede modificar estos objetos sin perturbar el código cliente existente. Además, la sustitución de objetos anidados en tiempo de ejecución permite modificar dinámicamente el comportamiento del programa. El mecanismo de herencia no tiene tanta flexibilidad, porque se establecen restricciones para las clases derivadas, que se comprueban en la fase de compilación.

Sobre la base de la agregación se implementa el método de delegación, cuando una tarea asignada a un objeto externo se delega a un objeto interno especializado en resolver tareas de este tipo.

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

Este es el espíritu de la programación orientada a objetos que impregna toda la programación orientada a objetos.
 
sergeev:

Abre la ayuda sobre estructuras. y lee también conversión de tipos, sobre estructuras.

Los miembros de métodos estaban disponibles desde el principio. ¿Por qué quieres eliminarlos?

IMHO, me has confundido con otra persona.
 
Urain:

Asociación y otras formas de vincular clases.

Bueno, lo que es para ) . Aquí están los patrones es sí, pero no es el nivel de los principiantes.
Entero:

Un punto:

m_tamaño.

El prefijo m_ en las convenciones comunes de nomenclatura se antepone a los miembros de datos de clase. Está pensado sobre todo para distinguir explícitamente las variables locales de los datos de clase en los métodos.

Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 
Integer:
¿Es posible escribir funciones en una estructura? Probablemente punteros a una clase - lo he visto, probado, es mejor no saberlo.
Pruébalo - puedes escribirlas y llamarlas. Y deberías hacerlo.
[Eliminado]  
Urain:

¿Por qué no se pasan los códigos por el estilizador?

Será difícil de leer para un recién llegado, ve un estilo en ME y otro en el artículo.

ZY El artículo no revela los problemas de conexión de clases.

En general, por supuesto, la programación orientada a objetos es un tema complejo, no es fácil describirlo en un lenguaje sencillo, pero hay que empezar por algún sitio.


fuente estilo corregido
 
buen articulo...me facilito la comprension sobre OOP, gracias...
 
TheXpert:
¿Para qué sirve? Patrones sí, pero no es el nivel de los principiantes.

Un momento:

m_size.

El prefijo m_ en las convenciones de nomenclatura comunes se adjunta a los miembros de datos de clase. Está pensado sobre todo para distinguir explícitamente las variables locales de los datos de clase en los métodos.


El prefijo m_ se usaba cuando se programaba bajo MFC, aplicado a variables privadas y protegidas, no hay otras convenciones "generalmente aceptadas". Después de que MFC salió de escena, todo el mundo se olvidó de todos estos estúpidos m_, gracias a Dios )). Si no crees - descarga los ejemplos y compruébalo por ti mismo (hay una sección sobre MFC también) 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:

El prefijo m_ se usaba cuando se programaba bajo MFC, aplicado a variables privadas y protegidas, no hay otras convenciones "generalmente aceptadas". Después de que MFC saliera de escena, todos estos estúpidos m_ han sido olvidados, gracias a Dios )) Los que no creen - descargar los ejemplos y ver por ti mismo (hay una sección sobre MFC también) http://archive.msdn.microsoft.com/vcsamples.

No. При чем тут 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

es comodidad y nada más. Cada empresa de programación puede tener sus propias reglas.

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

¡Artículo muy necesario!

Sugiero a los desarrolladores que creen una nueva categoría para los artículos. Algo así como "Fundamentos (teoría) de la programación"....