POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

12
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

Transcript of POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

Page 1: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

POO

U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA

A OBJETOS

Page 2: 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

Page 3: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

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

Page 4: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

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.

Page 5: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

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.

Page 6: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

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

Page 7: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

Clase

Atributos:

• Amarillo• 2 puertas

Métodos:

• Correr• Transportar

Page 8: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

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.

Page 9: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

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

Page 10: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

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.

Page 11: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A 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.

Page 12: POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

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