¿Cuáles son las 4 características fundamentales de la Programación Orientada a Objetos (POO)? 1. Abstracción: forma parte de los elementos fundamentales en el modelo de objetos. La abstracción son las características específicas de un objeto, aquellas que lo distinguen de los demás tipos de objetos y que logran definir límites conceptuales respecto a quien está haciendo dicha abstracción del objeto. 2. Encapsulamiento: es cuando limitamos el acceso o damos un acceso restringido de una propiedad a los elementos que necesita un miembro y no a ninguno más. El elemento más común de encapsulamiento son las clases, donde encapsulamos y englobamos tanto métodos como propiedades. 3. Polimorfismo: se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía 4. Herencia: permite que se puedan definir nuevas clases basadas de unas ya existentes a fin de reutilizar el código, generando así una jerarquía de clases dentro de una aplicación. Si una clase deriva de otra, esta hereda sus atributos y métodos y puede añadir nuevos atributos y métodos ¿Qué relación existe entre una clase y un objeto? Clases, Objetos y Mensajes Clase: una clase es una plantilla molde o modelo para crear objetos. Cada clase es un modelo que define un conjunto de variables el estado y métodos apropiados para operar con dichos datos el comportamiento Objeto: Los objetos son instancias de una clase Mensaje: es una petición enviada a un objeto para que este se comporte de una determinada manera, realizando una de sus operaciones. Cuando definimos una clase ¿Cómo sabemos que atributos/métodos deben estar incluidos dentro de ella y cuáles no? Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables. Los métodos Son aquellas funciones que permite efectuar el objeto y que nos rinden algún tipo de servicio durante el transcurso del programa. Determinan a su vez como va a responder el objeto cuando recibe un mensaje Ejemplos de aplicación de herencia de clases Ejemplo 1: Clase Vehículos, donde heredaran las clases bicicletas, taxis y colectivos. Ejemplo 2: Clase personas, donde heredaran las clases proveedor y clientes. Características Principales de POO Estos pilares son: abstracción: son las características específicas de un objeto , encapsulamiento es cuando limitamos el acceso o damos un acceso restringido , herencia: permite que se puedan definir nuevas clases basadas de unas ya existentes a fin de reutilizar el código, polimorfismo: Relación clase objeto Todo objeto es instancia de alguna clase, y toda clase tiene cero o más instancias. Las clases son estáticas; sin embargo, su existencia, semántica y significado están fijados antes de la ejecución de un programa. La clase de la mayoría de los objetos es estática, lo que significa que una vez que se crea un objeto, su clase está fijada. La relación principal es su comunicación o sea los mensajes ¿Cómo sabemos que atributos/métodos deben estar incluidos dentro de ella y cuáles no? Los atributos: son las características individuales que diferencian un objeto. Métodos Son aquellas funciones que permite al objeto realizar alguna función. Ejemplo de aplicación de herencias y clases La clase aves la herencia paloma, águila, loro La clase Deporte la herencia futbol, tenis, vóley