POO y Abstracción
lgasca
Created on September 23, 2023
Over 30 million people create interactive content in Genially.
Check out what others have designed:
VACCINES & IMMUNITY
Presentation
UNCOVERING REALITY
Presentation
LAS ESPECIES ANIMALES MÁS AMENAZADAS
Presentation
POLITICAL POLARIZATION
Presentation
WATER PRESERVATION
Presentation
PROMOTING ACADEMIC INTEGRITY
Presentation
ARTICLES
Presentation
Transcript
Programación orientada a objetos: Clases Objetos Atributos Métodos
PUnidad 2. Paradigma Orientado a Objetos
Podría considerarse como una cápsula que contiene tanto los datoscomo las operaciones que los manipulan y que proporciona una interfaz para el mundo exterior a través de la cual se puede acceder al objeto.Las operaciones se denominan métodos y pueden acceder a los elementos de datos contenidos en el objeto, que se denominan variables de instancia. La ejecución de una operación se realiza enviando al objeto un mensaje que consiste en el nombre del método a ejecutar, posiblemente junto con parámetros
Objetos
Objetos
Una clase es un modelo para un conjunto de objetos, en la que se define cuáles serán sus datos, y además establece nombre, firma, visibilidad e implementación para cada uno de sus métodos. En un lenguaje con clases, cada objeto pertenece a (al menos) una clase. Los objetos se crean dinámicamente mediante la creación de instancias de su clase. Se asigna un objeto específico cuya estructura está determinada por su clase.
Clases
En Python las clases se definen utilizando la palabra reservada class seguido del nombre de la clase y finalmente de dos puntos. En el bloque de la clase se deben definir todos los métodos que conforman a la clase, incluyendo el método __init__ que funge como el constructor de la clase. El constructor es un método especial en una clase que sirve para inicializar el objeto con ciertos atributos particulares.
Clases y objetos en Python
Clases y objetos en Python
Una vez creado un objeto, estos pueden realizar operaciones modificatorias mediante sus métodos o bien puedes acceder a sus atributos, o interactuar con otros objetos. A continuación se observar la definición de una clase denominada Libro y la creación de tres objetos a partir de esa clase. La clase Libro posee únicamente dos atributos pasados como argumentos al momento de crear los objetos: el título y el autor.
Clases y objetos en Python
Objetos
Objetos
Objetos
Evidencia Sumativa de Producto 2
La abstracción en la programación orientada a objetos se refiere a mostrar solo los atributos esenciales de algo y ocultar cualquier información de implementación que no sea necesaria para el usuario.
2.2. Abstracción
Los mecanismos de encapsulamiento (o encapsulación) permiten al programador agrupar datos y las subrutinas que operan en ellos en un solo lugar y ocultar detalles irrelevantes a los usuarios de una abstracción. Todo lenguaje permite la definición de objetos ocultando alguna parte de ellos (ya sean atributos o métodos). En cada clase hay, por lo tanto, al menos dos vistas: componentes privados y públicos.
2.3. Encapsulamiento
En la vista privada,todo es visible: es el nivel de acceso posible dentro de la propia clase (por sus métodos). Sin embargo, a la vista del público, solo es visible la información exportada explícitamente. Python es un lenguaje muy particular en este aspecto, no hay una palabra clave específica que permita indicarle de forma explícita el nivel de acceso en los miembros de una clase, pero puede utilizarse una cierta notación para esto.
2.3. Encapsulamiento
A continuación se define una clase denominada Persona y se instancia un objeto de dicha clase. Se puede notar que esta clase contiene dos atributos ordinarios (nombre y edad), y además se tiene un atributo nombrado como __idn, la adición de los dos guiones bajos al inicio del nombre del atributo hace que Python asuma que debe ocultar esa información (atributo privado).
2.3. Encapsulamiento
2.3. Encapsulamiento
Si ahora se redefine la clase incluyendo un método llamado mostrar_idn y se intenta acceder y mostrar el atributo __idn, se podrá notar que es posible para un método perteneciente a la clase acceder al atributo.
2.3. Encapsulamiento
2.3. Encapsulamiento
El mismo principio se aplica para ocultar los métodos, es decir, si quieres que un método sólo puedas llamarlo desde la propia clase, entonces al nombre del método deberás anteponerle dos guiones bajos, de esta manera Python hará que el método no esté disponible desde fuera de la clase