Cita:
Posteado originalmente por delphi.com.ar
...los mensajes son mensajes y los métodos son métodos sin inportar lo que hacen internamente, sinó tenemos que tirar por la borda toda la teoría de encapsulamiento.
|
Repito lo dicho, conceptualmente los mensajes son mensajes independientemente de como se implemente su envío. ¿Y exactamente en qué se afecta la teoría del encapsulamiento?
Cuando mandas un mensaje, en la acepción que le das, con, por eemplo, SendMessage, el emisor del mensaje no sabe en qué forma la ventana receptora implemente la respuesta al mensaje (encapsulamiento) Más aún, puedes hacer "subclassing" de una ventana reimplementando su procedimiento de ventana WndProc para implementar herencia ya que desde el nuevo procediemiento puedes acceder al original. Y más aún, si, por ejemplo, cierras una ventana en Windows, el sistema manda un mensaje WMP_PAINT a todas las ventanas que estaban parcialmente ocultas y cada una
responde de manera distinta al mismo mensaje. A eso le llamo polimorfismo.
La orientación a objetos es un concepto, una forma de estructurar una aplicación y no está dictada por el lenguaje que se utilice. Cierto que algunos lenguajes, como Delphi, C++, Eiffel, Java, etc. hacen más fácil el diseño orientado a objetos.
Entiendo tu preocupación por confundir a un principiante pero difiero en cuanto a sentar bases que no son correctas.
// Saludos