Ver Mensaje Individual
  #8 (permalink)  
Antiguo 06/06/2008, 14:20
guille_el3
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Visibilidad de Propiedades y Metodos

El paradigma de objetos no habla de modificadores de acceso de los métodos. Es puro jugo sintáctico de algunos lenguajes. El paradigma de objetos solo habla de "encapsulamiento del estado interno".
Eso podriamos decir incluye a las variables nada mas, los métodos públicos/privados no estarian contemplados en ese caso.

Sino mira smalltalk, uno de los primeros lenguajes orientados a objetos y no tiene modificadores de acceso. Simplemente encapsula las variables.

Otra cosa que esta relacionada con el encapsulamiento, es poder decirle a un objeto qué hacer sin saber como lo hace, y eso nos hace más felices.

Con respecto a lo que dice Enrique, estoy de acuerdo :). Para lo mismo que dijo él, yo utilizo la frase:

Cita:
KISS (Keep it simple, stupid)
Sin ánimos de ofender, =P.

Una sola cosa más que me gustaría remarcarte:

El diseño orientado a objetos no habla de encapsulamiento. Podríamos sí hablar de diseño del lenguaje.

YYY... para rematar, llendo a tu pregunta concreta:

Cita:
es valido que dentro de una clase puedas instanciar una clase del mismo tipo y acceder a sus métodos privados?"
Sí, es válido. Principalmente porque muchas veces hay objetos que se encargan de instanciar otros de la misma clase (en el caso de que hablemos de un lenguaje con clases), y con respecto a que accedan a sus métodos privados, te diría que tambien es posible, hasta en Java, C#, C++, puesto que los modificadores son de la siguiente manera:

  • private: se tiene acceso solo dentro de la misma clase (sea el mismo objeto u otro).
  • protected: extiende los accesos a las subclases(idem arriba, sea el mismo objeto u otro).
  • public: todos tienen acceso.
Espero haber aclarado un par de cosas...
Suerte!
__________________
Saludoss
Guille