Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Programación Orientada a Objetos. Gpo: 01 - Tarea 1 · Téllez González Jorge Luis 1. Programación orientada a objetos: conceptos básicos. Abstracción: Consiste en reconocer y enfocarse en las características esenciales de una situación o elemento a modelar, ya sea físico o no. El proceso de abstracción requiere fijar las características que son únicamente de interés en un determinado objeto y que, además, lo distinguen de otros objetos. Figura 1: La abstracción genera la idea básica de un objeto y sus características de interés. Clase: Corresponde a un modelo, plano o prototipo que describe los atributos y métodos de un posible tipo de objeto o entidad. Dicho de otra forma, corresponde a la plantilla de un determinado objeto; esto incluye sus características de interés y lo que puede realizarse con los objetos que sean creados a partir de la clase. Figura 2: Las clases son los planos sobre los cuales se costruyen objetos. Atributo: Es una característica de un objeto que tiene como propósito ayudar a definir su estructura. Así mismo, los atributos permiten diferenciar unos objetos de otros. Se define con un identificador y un tipo de dato; el conjunto de valores define al estado de un objeto. Método: Definen el comportamiento general de un objeto, es decir, modelan las capacidades y operaciones que pueden realizarse con un determinado tipo de objeto. Por ejemplo, una clase de bicicletas entre sus métodos puede tener el "pedalear", "frenar", etc. Objeto: Corresponde a la instancia individual de una clase. Los objetos creados a través de una clase ’plantilla’ po- seen los atributos y métodos definidos por la clase creadora. Además, sus valores son individuales para cada objeto creado. Pueden crearse tantos objetos como sean necesarios en un determinado marco de recursos de Hardware. Instancia: La realización de una clase, o el uso de los ’planos’ que brinda una clase para construir un objeto se identifica como ’instanciar una clase’. 1 Figura 3: Sintaxis para la creación de objetos en C, Java y Python. Diagrama de clases: Es una representación gráfica y simbólica que tiene como objetivo describir a una clase, sus atributos y sus métodos; definiendo con claridad los modificadores de acceso de las variables y métodos, el tipo de dato de los atributos y el tipo de dato que devuelven los métodos. UML es un lenguaje de modelado que puede ser utilizado con este propósito. Figura 4: Diagrama de una clase en lenguaje UML. Constructor: Es un método especial que se ejecuta al crear un objeto con el operador especial "new". Una de sus carcterísticas especiales en Java es que se debe de llamar igual que la clase en la que se encuentra, además, es creado por defecto y sin ningún parámetro. Así mismo, también pueden inicializarse los atributos de un objeto por medio del constructor. En el lenguaje Python la regla del nombre no necesariamente se aplica y, además, no se utiliza un operador especial para crear un objeto. Destructor: Método especial que se ejecuta, comunmente como un ’recolector de basura’ al término de la ejecución de un programa con el propósito de liberar la memoria reservada, por ejemplo, a diferentes objetos creados en un programa. Modificadores de acceso: Permiten o limitan el acceso a determinados atributos o métodos de una clase. Un atributo o un método ’public’ implica que cualquier otra clase ajena puedes modificar los atributos de un objeto creado con la clase pública u otras clases pueden acceder a sus métodos. En cambio, un modificador de acceso ’private’ negará el acceso los atributos y métodos, de la clase privada, a cualquier otra clase ajena. Encapsulamiento: Corresponde a la protección de clases, de forma que los objetos creados a partir de una clase encapsulada solo puedan ser manipulados de acuerdo a las directrices marcadas por esa misma clase. Un ejemplo de directrices de este tipo se encuentran aplicadas en los métodos especiales ’get’ y ’set’, los cuales permiten recuperar o modificar información de acuerdo a lo que dicte la clase protegida. El encapsulamiento protege la implementación y la integridad de una clase. 2. Modificadores de acceso públicos y privados en lenguaje Python A diferencia de Java, Python no cuenta con modificadores de acceso nativos para encapsular clases. En cambio, el acceso a una variable o método se encuentra explícito en su nombre: Por defecto todos los miembros de una clase de Python son ’públicos’, es decir, se puede acceder a cada elemento fuera del entorno de la clase en la que fue definido. 2 Para que un método sea ’privado’ se debe de anteponer dos guiones bajos antes del nombre y no dejar que ter- mine con los mismos dos guiones bajos. Esta misma regla aplica para la variables. A esto se le denomina "name mangling". Los atributos que son ocultados de esta forma no son accesibles desde afuera de la clase donde fueron definidos. También existe la opción de ’proteger’ métodos o atributos de una forma más básica, lo cual se logra añadiendo como sufijo un único guion bajo antes del nombre del atributo o método. Figura 5: Encapsulamiento básico en Python por medio de name mangling. Referencias [1] Conceptos clave. Recuperado de: https://ferestrepoca.github.io/paradigmas-de-programacion/poo/ poo_teoria/concepts.html. Fecha de consulta: 05/02/2020. [2] Interfaces, implementaciones y encapsulamiento. Recuperado de: https://pythonista.io/cursos/py111/ interfaces-implementaciones-y-encapsulamiento. Fecha de consulta: 05/02/2020. [3] Python - public, private and protected Access Modifiers. Recuperado de: https://www.tutorialsteacher.com/ python/private-and-protected-access-modifiers-in-python. Fecha de consulta: 05/02/2020. Los créditos de las fotografías pertenecen a sus respectivos autores. c© LATEX 3 https://ferestrepoca.github.io/paradigmas-de-programacion/poo/poo_teoria/concepts.html https://ferestrepoca.github.io/paradigmas-de-programacion/poo/poo_teoria/concepts.html https://pythonista.io/cursos/py111/interfaces-implementaciones-y-encapsulamiento https://pythonista.io/cursos/py111/interfaces-implementaciones-y-encapsulamiento https://www.tutorialsteacher.com/python/private-and-protected-access-modifiers-in-python https://www.tutorialsteacher.com/python/private-and-protected-access-modifiers-in-python Programación orientada a objetos: conceptos básicos. Modificadores de acceso públicos y privados en lenguaje Python
Compartir