Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROGRAMACIÓN ORIENTADA A OBJETOS - Coggle Diagram
PROGRAMACIÓN ORIENTADA A OBJETOS
Identidad :
Cada objeto debe ser distinguido y ello debe poder demostrarse mediante pruebas. Las pruebas is e is not existen para este fin.
Estado :. Cada objeto debe ser capaz de manipular su estado. Para este fin existen método
Comportamiento.:Cada objeto debe ser capaz de almacenar el estado. Para este fin, existen atributos, tales como variables de instancias y campos.
Python y Visual Basic, incluye las características siguientes para dar soporte a la programación orientada a objetos:
Creación de objetos basada en clases. Las clases son plantillas para la creación de objetos. Los objetos son estructuras de datos con el comportamiento asociado.
· Herencia con polimorfismo. Python da soporte a la herencia individual y múltiple. Todos los métodos de instancias de Python son polimórficos y se pueden alterar temporalmente mediante subclases.
· Encapsulación con ocultación de datos. Python permite ocultar los atributos. Cuando se ocultan los atributos, se puede acceder a los mismos desde fuera de la clase únicamente mediante los métodos de la clase. Las clases implementan métodos para modificar los datos.
La Programación Orientada a Objetos (POO) es un paradigma de programación, esto es, un modelo o un estilo de programación que proporciona unas guías acerca de cómo trabajar con él y que está basado en el concepto de clases y objetos.
Históricamente han ido surgiendo distintos paradigmas de programación. Por un lado, los lenguajes secuenciales como COBOL o procedimentales como Basic o C, .
Con el paradigma de POO lo que se busca es dejar de centrarse en la lógica pura de los programas, para comenzar a pensar en objetos, lo que forma la base de dicho paradigma.
Clases, objetos e instancias
Resumiendo bastante, para crear POO se hacen clases y luego se crean objetos a partir de dichas clases, que constituyen el modelo a partir del que se estructuran los datos y los comportamientos. Y es que quizá el concepto más importante sea distinguir entre clase y objeto.
Una clase es una plantilla, que define de modo genérico cómo serán los objetos de un determinado tipo. Por ejemplo, una clase para representar a animales puede denominarse ‘animal’
Un ejemplo sencillo de un objeto, podría ser un animal. Un animal tiene una edad, por lo que se crea un nuevo atributo de ‘edad’, y, además, puede envejecer, por lo que se define un nuevo método. Datos y lógica.
4 principios de la Programación Orientada a Objeto
La encapsulación
La encapsulación presenta toda la información importante de un objeto dentro del mismo y solo expone la información elegida al mundo exterior.
La herencia
La herencia define relaciones jerárquicas entre clases, de modo que atributos y métodos comunes puedan ser reutilizados. Las clases principales extienden atributos y comportamientos a las clases secundarias. Mediante la definición en una clase de los atributos y comportamientos básicos, pueden crearse clases secundarias, ampliando la funcionalidad de la clase principal y añadiendo atributos y comportamientos extra. Es una de las claves de la Programación Orientada a Objetos.
Beneficios de Programación Orientada a Objetos
● Reutilización del código.
● Convierte cosas complejas en estructuras simples reproducibles.
● Evita la duplicación de código.
● Permite trabajar en equipo gracias al encapsulamiento, puesto que minimiza la posibilidad de duplicar funciones cuando distintas personas trabajan sobre un mismo objeto al mismo tiempo.
● Al estar la clase bien estructurada permite la corrección de errores en diversos lugares del código.
● Protege la información mediante la encapsulación, pues solo se puede acceder a los datos del objeto mediante propiedades y métodos privados.
● La abstracción nos permite construir sistemas más complejos y de un modo más sencillo y organizado