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

Post on 25-Jan-2016

212 views 0 download

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

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 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

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.

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.

Ejemplo: Clase AlicateIdentidad Alicate

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

Comportamiento +Abierto+Cerrado

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 (#)

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

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

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

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.

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().

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?

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;}