No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Encapsulamiento

31/37
Recursos

El Encapsulamiento es hacer que un dato sea inviolable, inalterable cuando se le asigne un modificador de acceso.

Aportes 135

Preguntas 11

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

El encapsulamiento es hacer que un dato sea inviolable, inalterable cuando se le asigne un modificador de acceso (no se trata solo de ocultar el dato sino también de protegerlo). Un modificador de acceso define el alcance y visibilidad de un miembro de clase.
La encapsulacion es también llamada ocultamiento de información.
//
Algunos beneficios de encapsulación son:

  • Controlar la manera en que los datos son accedidos o modificados
  • El código es mas flexible y fácil de cambiar a partir de nuevos requerimientos
  • Poder modificar una parte del código sin afectar otras partes del mismo
  • Ayuda a mantener la integridad de los datos
    //
    Nota: esta información la obtuve de la app SoloLearn (en donde puedes aprender diferentes lenguajes de programación).

Public: Todas las Clases.
Protected: En la misma Clase, paquetes, subclases.
Default: En la misma Clase y paquetes internos.
Private: Solo en la misma Clase

Encapsulamiento:

Es hacer que los datos sean inviolables, inalterable o hacer que se esconda, cuando se le asigne un Modificador de Acceso.
.
Modificadores de Acceso:

  1. Public: Es el mas permisivos de todos, Accede a todo.
  2. Protected: Podrá ser accedido por la clase, paquetes y subclases.
  3. Default: Permite el acceso a nivel de clses de internas y paquetes (No podremos ver las herencias si ha detener (Osea subclases))
  4. Private: Solo podrá ser modificado dentro de la clase.

Se puede encapsular: elementos o atributos, clases o incluso métodos; El encapsulamiento nos permite tener dicho elemento inalterable en la POO.

Encapsulamiento
Esta idea no solo es para mantener agrupado el código, es una capa de seguridad para proteger al mismo.
Pero te preguntaras si he definido mi clase por que debo ocultar las propiedades de esa clase dentro de mi propio código, y en realidad no se trata de hacer algo en secreto, lo que realmente se busca es reducir las dependencias de otras partes del código, para que un cambio en un lugar no caiga en cascada y me toque hacer cambios en múltiples partes del código.

Hay que saber muy bien cómo encapsular nuestros atributos y métodos, por ejemplo, si queremos que un método pueda ser llamado por cualquier otro código, tendría que ser public, pero si queremos que solo esté disponible dentro de nuestra clase o clases heredadas podría ser protected, y si solo quieres que esté en la clase podoría ser private.

Usualmente los atributos suelen ser protected, ya que a veces queremos que las clases que nos hereden tengan acceso a esos atributos, pero que no puedan ser accedidos desde afuera. ¿Pero qué pasa si quieres que sean accedidos desde fuera? Entonces se usan unos métodos getters y setters que nos permitiran manipularlos ^^

📦 La encapsulación nos permitirá tener un mayor control sobre el acceso a las propiedades y comportamientos de un objeto determinado.

Símbolos de encapsulamiento para diagramas UML

  • private " - "
  • public " + "
  • protected " # "
  • default " ~ "

No solo existen los modificadores de acceso public, protected default y private. C# tiene las siguientes variaciones.
Pueden especificarse los siguientes seis niveles de accesibilidad con los modificadores de acceso:

public: El acceso no está restringido.

protected: El acceso está limitado a la clase contenedora o a los tipos derivados de la clase contenedora.

internal: El acceso está limitado al ensamblado actual.

protected internal: El acceso está limitado al ensamblado actual o a los tipos derivados de la clase contenedora.

private: El acceso está limitado al tipo contenedor.

private protected: El acceso está limitado a la clase contenedora o a los tipos derivados de la clase contenedora que hay en el ensamblado actual.

Acá hay información sobre Programación Orientada a Objetos en Python desde qué es OOP, hasta herencia, encapsulation y Polymorphism.

Niveles de acceso:
Public: Todas las clases.
Protected: A nivel de Clases, paquetes, subclases.
Default: A nivel de Clases y paquetes internos.
Private: A nivel de Clases

Apuntes de esta Clase:

Encapsulamiento

Permite hacer que un dato permanezca inviolable, inalterable; esto se consigue asignándole un modificador de acceso. Al encapsulamiento también se le conoce como ocultación de información .Los modificadores de acceso son los siguientes:

  • public: es el más permisivo de todos. Puede ser accedido por cualquier elemento.
  • protected: puede ser accedido a nivel de la Clase, los paquetes de la Clase y las subclases.
  • default: permite el acceso a nivel de Clases internas y paquetes. No puede ser accedido a nivel de herencia.
  • private: es el más restrictivo de todos. Sólo puede ser accedido a nivel de Clases. Sólo puede ser modificado y accedido dentro de la misma Clase.

Estos modificadores se pueden aplicar a Clases, atributos y métodos.

Con el encapsulamiento se consigue no sólo ocultar un dato sino también protegerlo.

Entre los beneficios del encapsulamiento estas los siguientes:

  • Permite controlar como se acceden y modifican los datos.
  • Se puede crear un código más flexible y fácil de cambiar frente a futuros requerimientos.
  • Se pueden modificar partes del código sin que esto afecte al resto del software.
  • Permite mantener la integridad de los datos.

Mis apuntes #31

Concepto de Encapsulamiento

En Golang, el encapsilamiento se hace mediente el nombramiento de las variables, métodos, atributos, etc. Si el nombre inicia con mayúscula es “public”, si es con minúscula es “private”:

No se ve verde, :V se ve amarillo

Definicion:
Es la capacidad de poder hacer privado o publico codigo, para que dependiendo de quien lo llame, este ultimo tenga el permiso o no de usarlo.
Puede ser asignado a funciones o metodos, a variables, etc. Colocandolo al inicio (Kotlin)

Ventajas:
Te permite ordenar mejor tu codigo para que asi tengas acceso a clases o metodos solo cuando lo necesites, evitando errores.
Te permite “esconder” valores de otros(private) para que no puedan ser modificados.

La profesora habla a la ligera. Dice cosas a veces que parecen sin sentido, que solo ella sabe. Ahora lo que hizo es repetir lo mismo que está en el cuadro. No explica qué quiere decir con acceso a “nivel de clases”. No dice si solo se puede acceder desde la misma clase que lo contiene o de otras clases.

En JavaScript no existen los modificadores de acceso. Por ejemplo, si quiero dar a entender que cierto atributo es privado, pongo un “_” precediendo a su nombre. Esto es solo una práctica para que las personas que lean nuestro código comprendan que no deben cambiar directamente ese atributo; para cambiarlo deberían usar setters, que es un concepto que imagino veremos en cursos posteriores. También existen los getters.

Interesante, aunque no entendí bien porque Passengers si se supone que puede ser de 1 a 4, sería para que no fuera mayor que ese número.

Encapsulamiento: Reunir todos los elementos que se concideren pertenencientes a una misma entidad, con el mismo nivel de abstracción.

cuando hablamos de encapsularse trata se saber el alcance que va tener un atributo o metodo, si será pública lo pueden acceder, desde otra clase o si método o atributo va ser privado solo puede ser alcanzado por la misma clase no puede se utilizada en otra clase,

Muy bien explicado y en solo unos minutos

Encapsulamiento consiste en ocultar los datos, que sean inviolables e inalterables asignándolos un modificador de acceso.
public: accesible para todas las clases.
protected: accesible para clases, paquetes y subclases.
default: accesible para clases y paquetes.
private: accesible solo para la clase.
Se pueden encapsular atributos, clases o métodos.

muy buena la clase, solo el detalle de la pronunciacion de public… https://www.youtube.com/watch?v=9PQVbDSiaAM

Modificadores de acceso: *public *protected *default *private

Encapsulamiento:

Es el que nos permite que un dato permanezca inviolable, inalterable, se le asigna un modificador de acceso.

Tipos de modificadores de acceso:

Public: Visible en todas las clases.
**Protected:**Visible en clases, paquetes y subclases.
Default: Visibles en clases y paquetes.
Private: Visible en clases.

Encapsulamiento = esconder algo (atributo)

El encapsulamiento es hacer que un dato sea inviolable, inalterable cuando se le asigne un modificador de acceso (no se trata solo de ocultar el dato sino también de protegerlo). Un modificador de acceso define el alcance y visibilidad de un miembro de clase.
La encapsulacion es también llamada ocultamiento de información.
////
Beneficios:
Controlar la manera en que los datos son accedidos o modificados
El código es mas flexible y fácil de cambiar a partir de nuevos requerimientos
Poder modificar una parte del código sin afectar otras partes del mismo
Ayuda a mantener la integridad de los datos

Basicamente el encapsulamiento nos permite tener el control de ciertas variables o metodos de nuestro codigo, permitiendo asi que solo puedan terner acceso a ciertas caracteristicas. Esto se puede ver como una caja negra donde colocas ciertos parametros de entrada, el ejecutara un proceso interno y nos dara un resultado sin que nosotros nos preocupemos de como lo hace.

He visto muchos ejemplos y explicaciones del encapsulamiento, pero es la primera vez que alguien lo explica con un ejemplo real, consistente y coherente, de tal manera que sí se ve la necesidad de utilizarlo en el código. Gracias Anncode!!!

Para lograr un buen nivel de encapsulamiento, se recomienda seguir el principio de “minimizar la accesibilidad”, es decir, hacer privados los atributos de una clase y proporcionar métodos públicos para acceder (getters) y modificar (setters) esos atributos si es necesario.

Public: Es como un parque público. Todo el mundo puede entrar y disfrutar de sus instalaciones. ¡Incluso los perros callejeros pueden entrar y hacer sus necesidades en el césped!

Protected: Es como una piscina privada en un club exclusivo. Solo los miembros del club y sus invitados pueden entrar y disfrutar de la piscina. ¡Los perros callejeros no son bienvenidos!

Default (sin modificador): Es como una fiesta en casa. Solo los amigos y vecinos están invitados. ¡Los extraños no son bienvenidos, a menos que traigan pizza!

Private: Es como un diario personal con candado. Solo tú puedes leerlo y escribir en él. ¡Ni siquiera tu mejor amigo puede echarle un vistazo!

31. Encapsulamiento

  • Para que un dato permanezca inviolable, inalterable, se le asigna un modificador de acceso.

Un sinonimo de modificador de acceso tambien es Esconder Algo

Encapsulamiento: Hacer que un dato permanezca inviolable, inalterable, se le asigna un modificador de acceso.

encapsulamiento:
encapsulamiento --> hacer que un dato sea inviolable o inalterable cuando se le asigna un modificador de acceso
encapsulamiento --> esconder

modificadores de acceso:
#public --> permite total acceso
#protected --> podra ser accedido a nivel de la clase y nivel de acceso subclases y paquetes
#default --> permite el acceso a nivel de clases y paquetes
#private --> permite acceso a clases

La técnica de Getter y Setters que se explican en el video 31, se pueden usar en JavaScript o en Python?

Los modificadores de acceso

son palabras clave que se utilizan en la programación orientada a objetos para definir el nivel de acceso que tienen los miembros de una clase (atributos, métodos y clases internas) desde otras clases.

Existen cuatro tipos de modificadores de acceso:

  1. Public: los miembros públicos pueden ser accedidos desde cualquier parte del programa, ya sea desde la propia clase, desde otras clases del mismo paquete o desde cualquier otra clase que importe la clase que define el miembro público.
  2. Private: los miembros privados sólo pueden ser accedidos desde dentro de la misma clase en la que se han definido. No son accesibles desde ninguna otra clase, incluso aunque pertenezcan al mismo paquete.
  3. Protected: los miembros protegidos son accesibles desde dentro de la misma clase en la que se han definido, desde las subclases (herencia) y desde otras clases del mismo paquete.
  4. Default: también conocido como “amistoso” o “sin especificar”, los miembros que no tienen ningún modificador de acceso se consideran “default” y sólo son accesibles desde dentro del mismo paquete.

En el ejemplo de Uber, podríamos definir que los atributos de la clase Car sean privados para que no puedan ser modificados desde fuera de la clase, mientras que los métodos de la clase Route sean públicos para que puedan ser accedidos desde cualquier otra parte del programa.

En Java, por ejemplo, los modificadores de acceso se definen de la siguiente manera:


public class Car {
   private String model;
   public int year;

   private void startEngine() {
      // código para arrancar el motor
   }

   public void accelerate() {
      // código para acelerar
   }
}


En este ejemplo, el atributo “model” y el método “startEngine” son privados, mientras que el atributo “year” y el método “accelerate” son públicos. De esta manera, sólo se puede acceder al atributo “year” y al método “accelerate” desde fuera de la clase, mientras que los otros miembros sólo son accesibles desde dentro de la misma clase.

En Python, los modificadores de acceso no existen como tal, pero se puede simular su comportamiento mediante el uso de convenciones de nomenclatura. Por ejemplo, se puede usar un guión bajo al principio del nombre de un atributo para indicar que es privado:


class Car:
   def __init__(self, model, year):
      self._model = model
      self.year = year

   def start_engine(self):
      # código para arrancar el motor

   def accelerate(self):
      # código para acelerar


En este ejemplo, el atributo “_model” se considera privado y sólo debería ser accedido desde dentro de la misma clase, mientras que el atributo “year” es público y puede ser accedido desde fuera de la clase.

El encapsulamiento es uno de los principios fundamentales de la programación orientada a objetos. Consiste en ocultar la complejidad de una clase detrás de una interfaz que permita a otros objetos interactuar con ella sin necesidad de conocer los detalles internos de su implementación. En otras palabras, se trata de proteger los atributos y métodos de una clase para que no sean accesibles desde fuera de la misma, salvo a través de los métodos públicos definidos en la interfaz.

En el ejemplo de Uber, podemos aplicar el encapsulamiento en varias clases. Por ejemplo, en la clase Driver podríamos tener un atributo password que no queremos que sea accesible desde fuera de la clase, ya que es un dato privado que no debería ser visible para otros objetos. Para proteger este atributo, lo definimos como private y proporcionamos un método público getPassword() que permita a otros objetos acceder a su valor sin tener que conocer directamente el atributo.

Otro ejemplo de encapsulamiento en Uber podría ser la clase Car. En este caso, podríamos tener varios atributos como model, year, licensePlate, entre otros, que también queremos proteger para que no sean accesibles desde fuera de la clase. En este caso, los definimos como private y proporcionamos métodos públicos getModel(), getYear() y getLicensePlate() para acceder a sus valores.

Es importante destacar que la encapsulación no es una medida de seguridad absoluta, ya que en algunos lenguajes de programación como Java o Python, aún es posible acceder a los atributos y métodos privados de una clase utilizando la técnica de reflexión. No obstante, se considera una buena práctica utilizar la encapsulación como una herramienta de diseño para crear clases más robustas y fáciles de mantener.

En cuanto a la sintaxis, en Java la definición de atributos privados se hace mediante la palabra clave private, mientras que en Python se utiliza un guión bajo como prefijo para indicar que un atributo es privado. Los métodos públicos se definen con la palabra clave public en Java y no hay una palabra clave específica para ellos en Python, ya que todo método que no empiece con un guión bajo se considera público por defecto.

En JavaScript, la encapsulación se logra a través del uso de closures, que permiten definir funciones dentro de otras funciones para crear un ámbito privado donde se pueden ocultar los datos de una clase. Sin embargo, el lenguaje no tiene una sintaxis específica para definir atributos y métodos privados o públicos, ya que todo se basa en la convención de usar ciertos nombres para indicar la visibilidad de un atributo o método.

El modificador de acceso public es el más permisible de todos. Permite ser accedido por cualquier elementos. Por cualquier clase. Modificador de acceso protected. Puede ser accedido a nivel de los paquetes de la clase Modificador de acceso default. Acceso a nivel de clases interas y paquetes. En la herencia no podremos ver este atributo. Modificador de acceso private. Es el mmás restrictivo. Solo puede ser accedido a nivel de clases.

Principio de ocualtación: Cada objeto esta aisaldo del exterior. Cada objetos expone una “interfaz” a otros objetos, que especifica como puede interactuar con otros objetos.
El aisaliemto protege a ñas propiedades de un objeto contra la modificación de quien no tenga derecho a aaceder a ellas.
Solamente los propios métodos internos del objetos pueden acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado internos de un objeto de manera inesperada.

Encapsulamiento: Hacer que un dato sean inviolable o inalterable cuando se le asigna un modificador de acceso.

En java, una correccion:
El modificador de acceso default, es a nivel de paquete que funciona, no necesitas realizar herencia, si las clases estan en el mismo paquete, puedes utilizar sus propiedades y metodos, si son default. AUNQUE SE HEREDE, puedes tener acceso a los mismos, verificar para eso el caso que hemos estado haciendo, todas nuestras propiedades son default

Un pequeño aporte:

ENCAPSULAR Es una palabra que indica “…encerrar, introducir o incluir algo dentro de una capsula. “ (RAE).
En POO “…es el mecanismo para enlazar los datos (atributos) y métodos (operaciones) en objetos y limitar el acceso directo a su interior. La encapsulación se refiere al empaquetamiento de datos y funciones en un contenedor Programable| (clases/*objetos) ” (https://scoutapm.com/blog/what-is-encapsulation)


no entiendo porque querer hacer eso en estos programas

Muy bueno está clase y hace rato estaba buscando está información

Información resumida de esta clase
#EstudiantesDePlatzi

  • Al momento de entender nuestro problema debo tener claro que posibles inconsistencias puedo tener para así prevenirlas

  • En la POO puedo esconder un parámetro

  • Encapsulamiento = Es lograr que un dato permanezca inviolable, inalterable y para esto se le asigna un modificador de acceso

  • Encapsulamiento es sinónimo de esconder

  • Para esconder un dato usaremos los modificadores de acceso: Public, Protected, default y private

  • Cada uno de estos tiene un nivel de acceso a los datos

  • Public es el más permisivo de todos

  • Protected puede ser accedido a nivel de clases, paquete de clases y sub clases

  • Default nos permite el acceso a nivel de clases internas y paquetes

  • Private es el más restrictivo, ya que solamente nos permite el acceso a nivel de clases

Hay que saber muy bien cómo encapsular nuestros atributos y métodos, por ejemplo, si queremos que un método pueda ser llamado por cualquier otro código, tendría que ser public, pero si queremos que solo esté disponible dentro de nuestra clase o clases heredadas podría ser protected, y si solo quieres que esté en la clase podoría ser private. Usualmente los atributos suelen ser protected, ya que a veces queremos que las clases que nos hereden tengan acceso a esos atributos, pero que no puedan ser accedidos desde afuera. ¿Pero qué pasa si quieres que sean accedidos desde fuera? Entonces se usan unos métodos getters y setters que nos permitiran manipularlos ^^

RESUMEN CLASE 31:
ENCAPSULAMIENTO

I. Para que un dato permanezca:

  • Inviolable

  • Inalterable, se le asigna un modificador de acceso

II. Modificadores de acceso:

  • public: Todas la clases

  • protected: Clases, Paquetes y Subclases

  • default: Clases y paquetes

  • private: Clases

Genial 😄.

Encapsulamiento

  • Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.

  • La encapsulación: Se refiere a la capacidad de agrupar y condensar en un entorno con límites bien-definidos distintos elementos. Cuando hablemos de encapsulación en general siempre nos referiremos, pues, a encapsulación abstracta.

  • Hay que poner límites (la encapsulación), y dentro de esos límites vamos a meter, a saco, todo lo relacionado con lo abstraído: no sólo datos, sino también métodos, comportamientos, etc.

  • La encapsulación define los niveles de acceso para elementos de esa clase. Estos niveles de acceso definen los derechos de acceso para los datos, permitiéndonos el acceso a datos a través de un método de esa clase en particular, desde una clase heredada o incluso desde cualquier otra clase. Existen tres niveles de acceso:

  • · público: funciones de toda clase pueden acceder a los datos o métodos de una clase que se define con el nivel de acceso público. Este es el nivel de protección de datos más bajo

  • · protegido: el acceso a los datos está restringido a las funciones de clases heredadas, es decir, las funciones miembro de esa clase y todas las subclases

  • · privado: el acceso a los datos está restringido a los métodos de esa clase en particular. Este es nivel más alto de protección de datos

🤖🤖🤖
El encapsulamiento es hacer que un dato sea inviolable, inalterable cuando se le asigne un modificador de acceso (no se trata solo de ocultar el dato sino también de protegerlo). Un modificador de acceso define el alcance y visibilidad de un miembro de clase.

Algunos beneficios de encapsulación son:
Controlar la manera en que los datos son accedidos o modificados
El código es mas flexible y fácil de cambiar a partir de nuevos requerimientos
Poder modificar una parte del código sin afectar otras partes del mismo.

En C#, si no especificas en modificador de acceso, será de tipo Private

  • Modificadores de acceso

Naranja: Alcanze
Gris: Restriciones

Public

Protected

Default

Private

Hace rato que no usaba Java pero le tengo cariño fue el primer lenguaje serio que aprendi por que me interesaba Android.

class Car{
    Integer id;
    Account driver;
    String license;
    private Integer passengers;

    public Car(String license , Account driver){
        this.license = license;
        this.driver = driver;
    }
    public void setPassengers(Integer passengerValue){
            this.passengers =  passengerValue;
    }

    public Integer getPassenger(){
        return this.passengers;
    }
    
    void printDataCar(){
        System.out.println("License: " + this.license + " conductor: " + this.driver.name + " Passengers: " + this.passengers);
    }

}

El encapsulamiento es hacer que un dato sea inviolable, inalterable cuando se le asigne un modificador de acceso (no se trata solo de ocultar el dato sino también de protegerlo). Un modificador de acceso define el alcance y visibilidad de un miembro de clase.
La encapsulacion es también llamada ocultamiento de información.
//
Algunos beneficios de encapsulación son:

Controlar la manera en que los datos son accedidos o modificados
El código es mas flexible y fácil de cambiar a partir de nuevos requerimientos
Poder modificar una parte del código sin afectar otras partes del mismo
Ayuda a mantener la integridad de los datos
//
Nota: esta información la obtuve de la app SoloLearn (en donde puedes aprender diferentes lenguajes de programación).

A mi me pasa que cuando se nombran varibles en ingles se me hace mas dificil entender ya que confundo esas variables con posibles palabras reservadas del programa.

Encapsulamiento


El encapsulamiento es hacer que un dato se inviolable, o inalterable cuando se le asigne un modificador de acceso. Es nos ayudará a que no puedan meter datos que alteren la lógica de nuestro negocio.

Para esconder datos vamos a utilizar los modificadores de acceso:

  • Public → Puede ser accedido por todos, o seá por cualquier elemento o clase.
  • Protected → Podrá ser accedido a nivel de la clases, paquetes y Subclases (las clases hijas ← clases padres).
  • Defaulf → Este nos permite el acceso a nivel de clases y paquetes. O sea, que a nivel de herencia no puede ser accedido.
  • Private → Solo puede ser accedido a nivel e clases, esto quiere decir, que solo puedes ser modificado a nivel e la clase.

Modificadores de acceso

que es encapsulamiento

Modificadores de Acceso:

  • Public: Es el mas permisivos de todos, Accede a todo.
  • Protected: Podrá ser accedido por la clase, paquetes y subclases.
  • Default: Permite el acceso a nivel de clses de internas y paquetes (No podremos ver las herencias si ha detener (Osea subclases))
  • Private: Solo podrá ser modificado dentro de la clase.

La encapsulacion es también llamada ocultamiento de información.

encapsulamiento en sus propiedades que no sea modificable en el proceso de ejecución

“Constant” tambien puede servir para el encapsulamiento?, por que ya no se cambia el valor despues de haberlo asignado y es una manera de protegerlo, Corriganme si me equivoco

  • Public: Todas las Clases.
  • Protected: En la misma Clase, paquete y subclases.
  • Default: En la misma Clase y paquetes internos.
  • Private: Solo en la misma Clase.
    💚

Encapsulamiento en Python

class Coche:
    #Estado inicial de la clase. Metodo constructor
    def __init__(self):
        # el "__" hace que el atributo no sea accesible desde fuera de la clase
        self.__largoChasis = 250
        self.__anchoChasis = 120
        self.__ruedas = 4
        self.__enmarcha = False

    def arrancar(self, arrancamos):
        self.__enmarcha = arrancamos

        if self.__enmarcha:
            chequeo = self.__chequeo_interno()

        if self.__enmarcha and chequeo:
            return "El coche esta en marcha"
        elif self.__enmarcha and chequeo == False:
            return "Algo ha ido mal en el chequeo"
        else:
            return "El coche esta detenido"

    def estado(self):
        print(
            "El coche tiene ", self.__ruedas, 
            " ruedas. Un ancho de ", self.__anchoChasis, 
            " y un largo de ", self.__largoChasis
            )

    #usar"__" para encapsular el metodo, igual que una variable
    def __chequeo_interno(self):
        print("realizando chequeo interno")

        self.gasolina = "ok"
        self.aceite = "ok"
        self.puertas = "cerradas"
        
        if self.gasolina == "ok" and self.aceite == "ok" and self.puertas == "cerradas":
            return True
        else:
            return False

#Instanciando la clase Coche
miCoche = Coche()
print(miCoche.arrancar(True))
miCoche.estado()

print("........A continuacion creamos el segundo objeto.......")

miCoche2 = Coche()
print(miCoche.arrancar(False))
miCoche2.estado()

Encapsulamiento en python: Se utiliza “__” mas el atributo, de esta manera los valores de este atributos estaran encapsulados y no pueden ser modificados por fuera es decir pasarian a ser estaticos. Este encapsulamiento tambien aplica para los metodos.
|
IMPORTANTE Debera estar mencionada en todos los lugares donde se declare el atributo o metodo

Encapsulamiento en pocas palabras Tu no has Visto nada...

Encapsulamiento

Hacer que un dato permanezca inviolable, inalterable, se le asigne un modificador de acceso.

Modificadores de acceso:

  • Public: Todos
  • Protected: Clases, paquetes y subclases
  • Default: Clases y paquetes
  • Private: Clases

Encapsular es proteger un dato para que no sea corrompido.

Existen tres niveles de acceso para el encapsulamiento, los cuales son:
Público (Public): Todos pueden acceder a los datos o métodos de una clase.
Protegido (Protected): son accesibles dentro de su clase y por subclases.
Privado (Private): sólo para la propia clase.

Concepto de Modificadores de Acceso.

El rol que juega el encapsulamiento es muy importante en poo.

Magistraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal

Vaya!!!

pasenme el diagrama final uml por fa.

Veo mas pragmática (y menos pretenciosa) esta solución, en vez de usar encapsulamiento. Aunque entiendo que pueda ser útil en circunstancias concretas dependiendo del proyecto.

void printCarResults()
    {   
        if(passenger > 4 || passenger < 4)
        {
            passenger = null;
            System.out.println("Para uberX no puede ser mayor ni menor a 4 pasajeros. " + passenger);
        }
        else
        {
        System.out.println("El nombre del conductor es : " + driver.name + 
        ".\nSu numero de licencia es: " + license + " the passengers: "+ passenger);
        }
    }

😃

Encapsulamiento: hacer que un dato sea inviolable e inalterable cuando se le asigna un modificador de acceso (public, protected, default, private).

Encapsulamiento

Explicación sobre modificadores de acceso

genial

Interesante!

Encapsulamiento
Un dato sea inalterable cuando se le asigne un modificador de acceso.
Restricciones de las clases.
Parametros, atributos, métodos, clases: escondidos.
public ,protected, default, private.

dos puntos por terminar de ver el video :v

Genial explicación

Encapsulamiento: Permisos de acceso a los atributos, método o clases.

Genial, me quedo claro el termino.

El encapsulamiento permite esconder los detalles de implementación de nuestra clase (atributos y métodos) hacia el exterior. Estaría mal si un objeto permite cambiar los datos escribiendo directamente sobre sus atributos.

cuando hago run en Java me aparaece en el DEBUG CONSOLE Error: no se ha encontrado o cargado la clase principal Main

El encapsulamiento

Excelente, este encapsulamiento nos permite también que para cuando cambien cosas poder modificar solamente la clase donde este atributo se encuentra

Definicion del encapsulamiento minuto 4:00.

Clase muy importante para poder controlar quien puede o no acceder/pueda ver a los atributos de una clase.

Definición de encapsulamiento.

El default rompe el concepto de herencia,
el private el más restrictivo solo puede ser accedido a nivel de clases, el protected, accedido a nivel de clases y paquetes