Vous êtes sur la page 1sur 39

Programacin Orientada a Objetos

Un modo de trabajo ms natural, que permite:


Centrarte en solucionar el problema que tiene que resolver en

lugar de tener que andar pensando en cmo le digo al ordenador que haga esto o lo otro.
El 90% del cdigo estaba dedicado a comunicarte con el

ordenador (Disear la pantalla), 10% a resolver el problema.


POO en adelante, abstrae de muchas de estas preocupaciones

para que se pueda dedicarte a escribir realmente el cdigo til, es decir, resolver el problema y ya est

El mundo color de Objetos


Por qu Orientacin a Objetos (OO)?
Se parece ms al mundo real

Permite representar modelos complejos


Muy apropiada para aplicaciones de negocios Las empresas ahora s aceptan la OO Las nuevas plataformas de desarrollo la han adoptado (Java /

.NET) Estrategia universal de modelado y solucin de problemas: divide y vencers, y estableciendo relaciones entre ellos.

Programacin y Modelos
Todos los programas modelan algo.

Qu es un Modelo?
Un modelo es una representacn simplificada de algo. Ejemplos????? Un carro de juguete.

Los modelos pueden representar un mundo imaginario o hipottico, pueden existir solo en papel o en la mente humana.

Objetos
Un objeto es una representacin real abstracta del mundo real.

Ejemplos de objetos reales:

Qu es un Objeto?
Informalmente, un objeto representa una entidad del

mundo real
Entidades Fsicas

(Ej.: Vehculo, Casa, Producto)

Entidades Conceptuales (Ej.: Proceso Qumico, Transaccin Bancaria)


Entidades de Software (Ej.: Interfaz Consola, Interfaz Grfica)

Un objeto posee Estado


Lo que el objeto sabe El estado de un objeto es una de las posibles condiciones en que el

objeto puede existir El estado normalmente cambia con el transcurso del tiempo El estado de un objeto es implementado por un conjunto de propiedades (atributos), adems de las relaciones que puede tener con otros objetos
Atributos Edad:35 Peso:70 kg. Altura:1.60 mts. Domicilio: Calle Falsa 123 Titulo: Doctora

Dra. Juanita Prez

Un objeto posee Comportamiento


Lo que el objeto puede hacer
El comportamiento de un objeto determina cmo ste acta y reacciona

frente a las peticiones de otros objetos Es modelado por un conjunto de mensajes a los que el objeto puede responder (operaciones que puede realizar) Se implementa mediante mtodos
Descansa

Cocina

Juega al Ftbol

Trabaja

Objetos, Propiedades y Comportamientos


Los objetos reales: Tienen unas propiedades especficas. Tienen un comportamiento.
Perro: Propiedades su nombre, su color, su estado de hambre. Comportamiento est ladrando, est corriendo.. Bicicleta: Propiedades marca, cadencia de los pedales, velocidades. Comportamientos frenado, acelerado, cambios.

Objetos, Propiedades y Comportamientos


Atributos Tam del m ao arco Tam de la rueda ao Material Engranaje Material Operaciones Comportamiento Pasos Reparar Cam de posicin bio

Aplicando abstraccin

Ejemplo de objeto con sus mtodos y propiedades


Propiedades o atributos

Tipo de pantalla Espacio de memoria Cantidad de tonos Tipo de antena Cantidad de idiomas, etc.

Mtodos o comportamientos

Superclase: Telfonos Clase: Telfono Celular Subclase: Telfono Celular Digital

Iniciar alarma Asignar tonos Registrar llamadas Iniciar Juego Utilizar Calculadora Enviar mensajes, etc

Objetos
Objeto Alejandro Propiedades Nombre Edad Peso Comportamiento Juguetes Cepillarse los dientes Encender y Apagar algunos efectos Electrodomsticos Preparar la cena Dormir al nio Arrancar el carro Tocar el pito Dormir al nio Arranca Pita Frenado

Gloria

Nombre Edad Peso Nombre Edad Peso Marca Modelo Ao de fabricacin Color

Alexis

BMW

Objetos
Los objetos son modelados a partir de los objetos reales, basandose en sus caracteristicas y comportamientos.

Las propiedades de un objeto se almacenan en VARIABLES

Los comportamientos se implementan utilizando los METODOS Variable: es un item de data referenciado por un identificador. Metodo: es una funcin o procedimiento asociado a un objeto.

Objetos
Un Objeto es.... Una unidad de software formada por variables y sus metodos asociados.

Podemos representar objetos reales mediante objetos programados Tambin podemos representar objetos abstractos mediante objetos programados.

EJEMPLOS????

Mensajes
Un objeto slo no es muy til....
Un objeto normalmente forma parte de un programa que contiene muchos otros objetos. A travs de la interaccin de esos objetos, los programadores alcanzan un alto nivel de funcionalidad y comportamientos mas complejos. Los objetos interactan mediante el envo de mensajes.

Objeto2 Mensaje Objeto1

Componentes de un mensaje
El objeto al cual se le enva el mensaje
El mtodo que se desea ejecutar.

Cualquier otra informacin que necesite el mtodo para

poder actuar (parmetros)

Telefono.llamar(2416881) Objeto.mtodo(parmetros)

Clases
Una clase es una categora de objetos similares

Transportes Terrestres

Clases
Mientras que un objeto es una entidad concreta que existe en tiempo y espacio, una clase representa slo una abstraccin, la escencia del objeto. Una clase es un conjunto de objetos que comparten una estructura comn y un comportamiento comn.
Un objeto es simplemente la instancia de una clase.

Ejemplo de clases y objetos


Clase: Coche

Objeto: Ferrari

Qu es una Clase?
Una clase es una descripcin de un grupo de objetos

con:
Propiedades en comn (atributos)
Comportamiento similar (operaciones) La misma forma de relacionarse con otros objetos

(relaciones) Una semntica en comn (significan lo mismo)

Una clase es una abstraccin que: Enfatiza las caractersticas relevantes Suprime otras caractersticas (simplificacin) Un objeto es una instancia de una clase

Diagrama de objetos
Proporcionan una notacin grfica formal del modelaje

de objetos, clases y sus relaciones entre s. Son fciles de entender y funcionan en la prctica Hay dos tipos de diagramas de objetos
Diagrama de clases, es un esquema para describir muchas

instancias de datos posibles. Un diagrama de clases se corresponde con un conjunto finito de diagramas de instancias. Diagrama de instancias, describe la forma en que cierto conjunto de objetos se relacionan entre s. Un diagrama de instancias describe instancias de objetos

Diagrama de objetos
Nombre de la clase

Atributos Propiedades Mtodos Comportamiento

Ejemplo de una Clase


Clase: Curso

Propiedades (Atributos) Nombre Ubicacin Das Ofrecidos Horario de Inicio Horario de Trmino
Comportamiento (Mtodos) Agregar un Alumno Borrar un Alumno Entregar un Listado del Curso Determinar si est Completo

Diagramas de objetos
Los diagramas de clases describen el caso general al modelar un

sistema Los diagramas de instancias se utilizan, para mostrar ejemplos que nos ayuden a comprender los diagramas de clases complejos

(Carro) Carro Corolla

(Carro) Blazer

Clase

Objetos

Diagrama de objetos
Nio nombre edad juguetes
CepillarDientes EncenderEfectoElectrodomstico ApagarEfectoElectrodomstico Clases

Propiedades

Comportamiento

Atributos
Es un valor de un dato que est almaccenado en los objetos de una clase.

Ejm, serial, modelo, placa, ao. Cada atributo tiene un valor para cada instancia del objeto. Las instancias distintas de un objeto pueden tener el mismo valor valores distintos para un atributo dado. El nombre del atributo debe ser nico dentro de la clase Los atributos debern ser valores puros de datos y no objetos. Un objeto no debera modelarse como un atributo, sino como una asociacin entre dos objetos.
Carro
Placa:cadena ao:entero

Atributos
Los atributos se enumeran en la segunda parte del cuadro. El nombre del atributo puede estar acompaado por el tipo del mismo y

valores por defecto. Se puede omitir los atributos en el diagrama de clases. Los diagramas de clases tienen una lnea entre el nombre de la clase y el atributo, los diagramas de instancias no. Los identificadores no son necesarios en el diagrama de instancias.
Libro Autor:cadena Titulo:cadena editorial:cadena ao:entero precio:decimal (Libro) Yourdon Anlisis Prentice 98 30000

Parametrizacin y Mtodos
Es una funcin transformacin que se puede aplicar ser

aplicada a los objetos de una clase. Todos los objetos de una clase comparten las mismas operaciones. Cada operacin tiene un argumento blanco implcito y el comportamiento o responsabilidades de la operacin depende de ello. Una misma operacin puede aplicarse a muchas clases distintas y sta se llama polimrfica, es decir, la operacin adopta distintas formas en distintas clases. Un mtodo es la implementacin de una operacin en una clase. Cada mtodo debe estar implementado en un segmento de cdigo diferente

Parametrizacin y Mtodos
Una operacin posee argumentos adems del objeto blanco, stos

parametrizan la operacin pero no afectan a la eleccin del mtodo. Los mtodos slo dependen de la clase del objeto blanco. Las nombres de las operaciones debern ser distintas entre operaciones, enumerando adems del nombre las listas de argumentos y el tipo de resultado. Las operaciones se pueden omitir en diagrama de alto nivel.
Telfono Nmero:entero Dueo:cadena Recibir llamada(nmero telfeno:entero):entero Llamar(nmero telfono:entero) Guardar nmero(Nmero:entero,nombre:cadena)

Parametrizacin y Mtodos
Nio nombre edad juguetes CepillarDientes( CepilloDientes c) EncenderEfectoElectrodomstico (EfectoElectrodomstico e) ApagarEfectoElectrodomstico (EfectoElectrodomstico e)

Principales caractersticas de la POO. (Ventajas).


Abstraccin: Define caractersticas mas esenciales (atributos y
comportamiento) de un objeto para modelarlo en un objeto de software.

Modularidad: Modificaciones por mdulos. Encapsulamiento: Ocultamiento de informacin.

Jerarquia (Herencia): Permite la reutilizacin de cdigo.


Polimorfismo: Una clase de un mismo nombre, diferentes implementaciones.
Desventaja: Requiere de gran conocimiento de los desarrolladores.

Sintaxis para la definicin de clases en C#


class <NombreClase> { <TipoDato> <nombreCampo>;
<TipoDevuelto> <identificador> ([<Parmetros>]) { <instrucciones> }
Clases Propiedades

Mtodos

Modificadores de Acceso
Permiten definir el nivel de acceso (visibilidad) de los

miembros (atributos o mtodos) de una clase


Publico: Cualquier clase puede ver los miembros

pblicos de otra clase Privado: Slo la clase puede ver sus propios miembros privados

Existen otros dos modificadores para propsitos

especficos (Paquete, Protegido)

Ejemplo
// identificacin de la clase class Persona {
// atributos o propiedades string nombre; string apellidos; int aoNacimiento; // mtodo de consulta o acceso int Edad(int unAo) {
// edad aproximada return unAo - aoNacimiento;

} string ToString() {
return nombre + + apellidos;

Ejemplos
Circunferencia

Curso -nombre -ubicacion -dias -inicio -fin +AgregarAlumno() +BorrarAlumno() +GenerarListadoCurso() +EstaCompleto()

double x, y double radio

double Area()

Ejemplos
Disee

e implemente una clase que permita representar un reloj, al menos tenga en cuenta que los relojes se ponen en hora y que mientras estn funcionando avanzan hacia el instante siguiente transcurrido un segundo.
Como un caso particular de estos relojes represente los relojes con alarma que permite determinar si puede sonar o no.

Ejemplo:

Clase: MovimientosRobot
Atributos: x (entero), y (entero)

Mtodos: avanzarAdelante(x: entero) avanzarAtras (x: entero) avanzarArriba(y: entero) avanzarAbajo(y: entero)

Ejemplos
Disee clases para representar figuras geomtricas del

plano. Permita representar segmentos de recta, cuadrados, rectngulos, circunferencias, elipses y tringulos. Permita mover las figuras, calcular rea, permetro y/o longitud segn sea el caso. Le sugerimos tener en cuenta que todas estas figuras geomtricas pueden ser representadas a partir de un punto en comn. Puede auxiliarse de la siguiente figura.

Ejemplos
Clase polgono Objetos polgonos Aplicando abstraccin Atributos Vrtices Color del borde Color de relleno Operaciones Dibujar Borrar Mover

Vous aimerez peut-être aussi