¿Cómo dice que aún se pueden acceder a éstas? Si se les pusiera doble guión bajo el editor no me deja acceder a ese método o variable, si...

Robert Yesid Barrios Acendra

Robert Yesid Barrios Acendra

Pregunta
studenthace 4 años

¿Cómo dice que aún se pueden acceder a éstas? Si se les pusiera doble guión bajo el editor no me deja acceder a ese método o variable, si ejecuto me genera un error diciendo que no puedo acceder. Por eso me pareció raro que sólo pusieran un guión bajo.

4 respuestas
para escribir tu comentario
    Sergio Orejarena Rueda

    Sergio Orejarena Rueda

    studenthace 4 años

    David Aroesti no se equivoca. Si se puede acceder a estas. Acá muestro un ejemplo con atributos públicos (self.attribute) y atributos protegidos (self._attribute): . 1.png . Sin embargo también existen los atributos privados (self.__attribute) a los cuales también se puede acceder desde afuera de la clase, pero no de la forma convencional cómo se encuentra en el ejemplo anterior, sino de esta forma: . 2.png . Dónde haces referencia a la clase y su atributo (Privado), es claro que la forma es un poco rebuscada, pero no quita que se pueda acceder desde fuera de la clase al atributo "Privado", cosa que en otros lenguajes orientados a objetos, no pasa ya que esto podría implicar un hueco de seguridad en el código. . Cabe aclarar que en los ejemplos solamente estoy imprimiendo su valor. Sin embargo, de la misma forma se puede modificar este y ahí se encuentra el verdadero problema. . Por esta misma razón siempre que se trabaja con objetos en Python se utilizan Setters y Getters para así poder tener un mayor manejo de estos atributos con un poco más de seguridad ante este tipo de problemas que podrían surgir a futuro.

    Robert Yesid Barrios Acendra

    Robert Yesid Barrios Acendra

    studenthace 4 años

    Centeno, no se trata sobre el código, analiza bien lo que digo. Para encapsular una variable de clase o de instancia o encapsular un método, NO DEBO usar solo un guión bajo, hay que usar un DOBLE guión bajo para que el editor, en este caso VS Code no me permita acceder a el método o la variable desde fuera de la clase. En esto se equivoca Aroesti, además que parece no tener preparadas sus clases, cometiendo uno o más errores por video, donde se pone a escribir código y/o mostrar código ya hecho que muestran cierta improvisación.

    Roberto Andres Viruete Gonzalez

    Roberto Andres Viruete Gonzalez

    studenthace 4 años

    si es verdad , dijo que no habia variables privadas pero si pones __ ya no puedes acceder a ellas, de hecho vi varios tutoriales en internet y siempre usaban __ nunca _

    Omar Daniel Centeno

    Omar Daniel Centeno

    studenthace 4 años

    ¡Hola! :)

    Si pudieras compartirnos tu código sería más sencillo encontrar el problema. Puedes copiar y pegar utilizando el botón de

    </> código
    . ¿Qué error te marca?

    ¡Saludos!

Curso de POO y Algoritmos con Python

Curso de POO y Algoritmos con Python

Comprende la eficiencia algorítmica con Python. Analiza complejidad temporal y espacial, visualiza resultados y resuelve problemas de optimización. Ideal para desarrollar habilidades esenciales en el análisis de algoritmos.

Curso de POO y Algoritmos con Python
Curso de POO y Algoritmos con Python

Curso de POO y Algoritmos con Python

Comprende la eficiencia algorítmica con Python. Analiza complejidad temporal y espacial, visualiza resultados y resuelve problemas de optimización. Ideal para desarrollar habilidades esenciales en el análisis de algoritmos.