Upload
samuel-ortiz-maidana
View
227
Download
1
Embed Size (px)
Citation preview
POO
U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA
A OBJETOS
Lenguaje
• Método humano y no instintivo de– comunicar ideas– Emociones– deseos – mediante un sistema de símbolos 1
• Esta definición en principio se refiere a un lenguaje natural, que es aquel lenguaje hablado o escrito que usamos para la comunicación más cotidiana y general
Lenguaje formal
• Existe una gramática que implementa el conjunto de concatenaciones (cadenas) posibles de un alfabeto finito particular.
• Esta gramática provee al lenguaje de 3 elementos importantes:1. Un vocabulario de símbolos;2. Reglas sintácticas para combinar estos símbolos:
cadenas y fórmulas gramaticalmente correctas
3. Reglas semánticas para darle significado e interpretación a esas fórmulas.
• No es ambiguo• No crece y evoluciona autónomamente
Lenguajes de Programación
• Subconjunto de los lenguajes formales. Humano Computadora • Otra definición (Bryan Higman): conjunto de
objetos llamados vocabulario que pueden ser combinados en cadenas lineales de acuerdo a ciertas reglas llamadas
gramática.
Paradigmas de programación• Modelo o ejemplo• Proceso de diseño que va más allá de una gramática,
reglas semánticas y algoritmos, es un conjunto de métodos sistemáticos aplicables en todos los niveles
del diseño de programas.
Programación Orientada a ObjetosSimular o modelar los objetos del mundo real
• Clase: es la estructura de un objeto, es decir, la definición de todos los elementos de que está hecho un objeto.
• Objeto es, por lo tanto, el "resultado" de una clase• Objeto es una instancia de una clase, por lo que se pueden
intercambiar los términos objeto o instancia
• Atributos: – propiedades del objeto y están representados
por variables con valores únicos para cada objeto y que son llamadas variables de instancia.
– Ejemplo: edad, color, tener hambre, tener ganas de salir al parque, etc.• Métodos:
– Representaciones de los comportamientos que el objeto es capaz de hacer. – Ejemplo: sentarse, comer, saludar, dormir y bailar, etc.
Clase
Objetos
Clase
Atributos:
• Amarillo• 2 puertas
Métodos:
• Correr• Transportar
Propiedades: Herencia Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los que hay.
Abstracción
• capacidad de separar los elementos (al menos mentalmente) para poder verlos de forma singular.
• permite dividir un programa en distintos objetos que se agrupan para formar cosas más complejas.
• medio por el cual nos enfrentamos con la complejidad inherente al software.
• propiedad que permite representar las características esenciales de un objeto sin preocuparse de las restantes características
• Expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás
Encapsulamiento
• consiste en ocultar los detalles de implementación de un objeto.
• se provee una interfaz pública por medio de sus operaciones permitidas.
• propiedad de los objetos de permitir el acceso a su estado únicamente a través de su interfaz o de relaciones preestablecidas con otros objetos.
Encapsulamiento• Provee dos principales beneficios a los desarrolladores de software:
• Modularidad– el código fuente de un objeto puede ser escrito, independientemente del
código fuente de otros objetos. – un objeto puede ser transferido alrededor del sistema sin alterar su
estado y conducta.• Ocultamiento de la información
– un objeto tiene una "interfaz pública" que otros objetos pueden utilizar para comunicarse con él.
– el objeto puede mantener información y métodos privados que pueden ser cambiados en cualquier tiempo sin afectar a los otros
– objetos que dependan de ello.
Polimorfismo• posibilidad de que una entidad tome muchas formas. • permite referirse a objetos de clases diferentes mediante el
mismo elemento de programa – realizar la misma operación de diferentes formas, según
sea el objeto que se referencia en ese momento.• Ejemplo:– clase mamíferos:
la operación comer es una operación fundamental en la vida de los mamíferos
• Todos comen pero de diferente forma