Características de la poo
https://www.educaciontrespuntocero.com/recursos/apps-para-crear-mapas-conceptuales/#GitMind
1. Abstracción:
-
Descripción: La abstracción se centra en mostrar solo la información relevante de un objeto, ocultando los detalles complejos de su implementación. Permite crear modelos simplificados del mundo real, enfocándose en "qué hace" un objeto en lugar de "cómo lo hace".
-
Ejemplo: Considera un automóvil. Cuando conduces, interactúas con el volante, los pedales y la palanca de cambios. No necesitas saber cómo funciona internamente el motor, la transmisión o el sistema de frenos para operarlo. La interfaz del conductor (volante, pedales, etc.) es una abstracción de la compleja maquinaria subyacente.
-
Pregunta: Describe otro ejemplo de la vida real donde se aplique el concepto de abstracción. ¿Qué detalles se ocultan y qué información se expone?
3. Herencia:
-
Descripción: La herencia es un mecanismo que permite crear nuevas clases (clases derivadas o subclases) basadas en clases existentes (clases base o superclases). La clase derivada hereda los atributos y métodos de la clase base, pudiendo además añadir nuevos atributos y métodos o modificar los heredados. Esto fomenta la reutilización de código y la creación de jerarquías de clases.
-
Ejemplo: Pensemos en una jerarquía de animales. Podríamos tener una clase base llamada
Animal
con atributos comonombre
y métodos comocomer()
ydormir()
. Luego, podríamos tener clases derivadas comoPerro
yGato
que hereden estos atributos y métodos, pero que además tengan sus propias características (por ejemplo,ladrar()
enPerro
ymaullar()
enGato
). -
Pregunta: Propón otro ejemplo de herencia en el mundo real y describe qué características hereda la subclase de la superclase.
4. Polimorfismo:
-
Descripción: El polimorfismo (que significa "muchas formas") permite que objetos de diferentes clases respondan al mismo mensaje (llamada a un método) de manera diferente. Esto proporciona flexibilidad y extensibilidad al código.
-
Ejemplo: Volviendo al ejemplo de los animales, podríamos tener un método llamado
emitirSonido()
. Si llamamos a este método en un objeto de la clasePerro
, producirá un ladrido. Si lo llamamos en un objeto de la claseGato
, producirá un maullido. El mismo método tiene diferentes comportamientos según el tipo de objeto. -
Pregunta: Describe cómo el polimorfismo facilita la escritura de código más genérico y adaptable a diferentes tipos de objetos
ENCAPSULAMIENTO- MODULARIDAD - PRINCIPIOS DE OCULTACIÓN- RECOLECCION DE BASURA
PARA CERRAR CON LOS CONTENIDOS DE LOS ELEMENTOS Y CARACTERISTICAS DE LA PROGRAMACION ORIENTADA A OBJETOS REALIZAR LO SIGUIENTE:
PARA FINALIZAR EN UNA IMAGEN SE VISUALIZARÁ A LA POO EN EL TRONCO DE UN ARBOL CONCEPTUA, DONDE SUS RAMAS SERAN LOS ELEMENTOS Y CARACTERISTICAS...
LUEGO SUMARÁN LOS SIGUIENTES CONCEPTOS TRABAJADOS ANTERIORMENTE. UNA VEZ TERMIANDO EL TRABAJO MOSTRARÁN EN LA PANTALLA COMO QUEDO SU TRABAJO
Encapsulamiento
El encapsulamiento consiste en agrupar los datos (atributos) y el código que opera sobre esos datos (métodos) dentro de una misma unidad, llamada clase . Además, busca proteger el acceso directo a los datos internos de un objeto, permitiendo interactuar con ellos solo a través de los métodos definidos en la clase.
En este ejemplo, los atributos del Coche
están encapsulados dentro de la clase. Interactuamos con la velocidad a través de los métodos acelerar()
, y , en lugar de modificar directamente el atributo . El guion bajo es una convención en Python para indicar que un atributo no debería ser accedido directamente desde fuera de la clase. frenar()
obtener_velocidad()
_velocidad
Modularidad
La modularidad es la capacidad de dividir un programa grande y complejo en partes más pequeñas e independientes llamadas módulos o clases . Cada módulo se encarga de una parte específica de la funcionalidad, lo que facilita el desarrollo, la comprensión, el mantenimiento y la reutilización del código
Cada una de estas clases o módulos tiene responsabilidades bien definidas, lo que hace que el sistema sea más organizado y fácil de manejar. Por ejemplo, la clase Prestamo
se encarga exclusivamente de la lógica relacionada con los préstamos, sin tener que preocuparse por cómo se almacena la información de los libros o los usuarios.
Principios de Ocultación (Ocultación de información)
Los principios de ocultación están estrechamente relacionados con el encapsulamiento. Su objetivo principal es ocultar los detalles internos de implementación de una clase al mundo exterior, exponiendo solo la interfaz necesaria para interactuar con sus objetos. Esto protege la integridad de los datos y permite modificar la implementación interna sin afectar el código que utiliza la clase.
En la clase Coche
, el atributo _velocidad
se considera un detalle interno de implementación. La forma en que la velocidad se almacena o se actualiza podría cambiar en el futuro (quizás se almacene en metros por segundo internamente), pero mientras la interfaz de los métodos acelerar()
, frenar()
y obtener_velocidad()
se mantiene, el código que utiliza la clase Coche
no se verá afectado.
Recolección de Basura
La recolección de basura es un proceso automático que gestiona la memoria utilizada por los objetos que ya no están en uso por el programa. El recolector de basura identifica y libera la memoria ocupada por estos objetos, evitando fugas de memoria y facilitando la gestión de recursos.
En lenguajes como Python, no necesitas liberar explícitamente la memoria de los objetos cuando dejas de usarlos. El recolector de basura se encarga de esto automáticamente en el segundo plano.
En este ejemplo, la lista objeto_temporal
se crea dentro de la función crear_objeto()
. Una vez que la función termina, esta lista ya no es accesible a través de ninguna variable en el programa principal. El recolector de basura de Python detectará esto y liberará la memoria que ocupaba la lista en algún momento futuro.
https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
Comentarios
Publicar un comentario