PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los...

13
PROGRAMACION ORIENTADA A OBJETOS

Transcript of PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los...

Page 1: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

PROGRAMACION ORIENTADA A OBJETOS

Page 2: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

Pilares de la POO

• La poo se basa en tratar de virtualizar los objetos de la vida real.

• ¿Cómo caracterizamos a los objetos de la vida real?– Atributos tales como nombre, rut, fechaNacimiento (la

edad se calcula), raza, etc.– Respuesta ante un estímulo, esto se denomina

COMPORTAMIENTO– Identidad

Page 3: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

Pilares de la POO

• Los objetos tienen una duración:– Los objetos se crean al INSTANCIARLOS– Los objetos responden ante mensajes de otros

objetos (“estimulación”)– Los objetos de destruyen

• Para efectos de virtualización los objetos son creados como clases y se dice que un objeto existe cuando es instanciado a partir de la clase.

Page 4: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

Pilares de la POO

• Se dice que la clase es una generalización de los objetos que puede instanciar.

• Ejemplo:– Objeto: Un alicate– Identidad: Alicate– Atributos: Material, Color, Tamaño, Peso, Textura,

Tipo, Precio, Estado– Comportamiento: Abierto, Cerrado.

Page 5: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

Ejemplo: Clase AlicateIdentidad Alicate

Atributos +Material+Color+Peso+Tipo+Textura+Tamaño+Precio+Estado

Comportamiento +Abierto+Cerrado

Page 6: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

Tipos de Acceso

• Los atributos y métodos se pueden definir como:– Públicos: para ser vistos por todos. (+)

– Privados: solo podrán ser visto o usados por la misma clase (-)

– Protegidos: solo se podrán utilizar por esta clase y las clases heredadas (#)

Page 7: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

Nombre comportamiento según lenguaje de programación

• En c++ se habla de funciones

• En Java se habla de métodos

• En Visual se habla de subRutinas

Page 8: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

Funciones (métodos o sub)

• Toda clase ha de tener lo siguiente:– Constructor– set<nombreAtributo> por cada atributo– get<nombreAtributo> por cada atributo.– Destructor– Funciones que automatizan el comportamiento

del objeto

Page 9: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

Recordar

• Recordar que:– Las funciones de una clase no muestran información– Las funciones reciben o envían datos

• En POO se habla del patrón de diseño:

Modelo – Vista – Controlador(modelo es la bbdd (mySql, Oracle, MsSql, etc),la vista es el formulario {html, applet, asp, php, dart, …}El controlador es la clase que controla los datos

Page 10: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

Recordar

• Todo lo que es sentencia SQL para manejar el modelo (BBDD) se hace en la controladora.

• La vista no debiera tener acceso a la base de datos.

Page 11: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

El constructor

• Se llama constructor a una función que permite inicializar los atributos de la clase y es la que se llama al momento de su instanciación.

• En una clase el constructor es una función que tiene el mismo nombre de la clase.

• Puede ser pública o privada

• Cuando el constructor es privado entonces se genera una función que se denomina getInstance().

Page 12: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

El constructor

• Bueno hemos visto que un constructor se puede generar “by default” (por defecto), sin embargo:

• ¿Qué ocurre si uno desea instanciar un objeto a partir de la clase con datos que uno quiera utilizar?

Page 13: PROGRAMACION ORIENTADA A OBJETOS. Pilares de la POO La poo se basa en tratar de virtualizar los objetos de la vida real. ¿Cómo caracterizamos a los objetos.

El constructor

• Para instanciar un objeto con valores para los atributos distintos a los por defecto se utiliza lo característica de la POO denominada “sobrecarga”

• Es decir:alicate() { marca = “redLine”;}alicate(string vMarca) { marca = vMarca;}