Professional Documents
Culture Documents
1.- Introduccin
Antes de iniciar el desarrollo se debe elegir el paradigma de trabajo (procedural, OO, ) La eleccin del paradigma limita el conjunto de lenguajes a utilizar.
2
1.- Introduccin
Programacin procedural
Unidad bsica: el procedimiento
Entradas Salidas
funcin
funcin
funcin
1.- Introduccin
Programacin orientada a objetos
Unidad bsica: el objeto
funcin funcin funcin dato dato dato
1.- Introduccin
Caractersticas de un lenguaje orientado a objetos (LOO)
Objetos Clases Herencia Polimorfismo
2.- Objetos
En un LOO puro, todo son objetos. Objeto = Conjunto de variables (atributos) + Conjunto de operaciones (mtodos) que operan sobre las variables. Ejemplos de objetos:
Ventana Nmero complejo Nave espacial
En un POO tenemos que representar todas las entidades de nuestro problema mediante objetos.
6
2.- Objetos
Un objeto puede tener como atributos otros objetos (por ejemplo, una ventana puede contener botones, listas desplegables, reas de texto, barras de desplazamiento...). Todos los objetos tienen una interface (parte visible del objeto). Todos los objetos son de un tipo en concreto (todas las ventanas, cada una con sus propios atributos, son del tipo genrico VENTANA) El tipo del objeto determina QU operaciones puede realizar dicho objeto.
7
3.- Clases
Una clase describe una familia de objetos (el tipo) mediante: Los atributos que contendrn los objetos. Los mtodos que implementarn los objetos. En la clase NO se dan valores a los atributos (a no ser que sea un valor comn para todos los objetos). Es cada objeto quien establece los valores de sus atributos. La clase es una descripcin genrica, una plantilla. Una clase define los datos que tendr cada objeto (atributos) y la manera en que se manejan dichos datos (mtodos). Los objetos son instancias o ejemplares concretos de una clase.
8
Clase Ventana { Atributos: int posX, posY, sizeX, sizeY; Mtodos: void mover(int despX, int despY) { posX = posX + despX; posY = posY + despY; } void redim(int newSizeX, new sizeY) { sizeX = newSizeX; sizeY = newSizeY; } }
9
3.- Clases
Cada clase posee una doble componente: Se conoce como componente esttica a los datos (atributos). Los valores de estos datos definen el estado del objeto. Se conoce como componente dinmica a los procedimientos o funciones (mtodos). Define el comportamiento del objeto. Los mtodos son los encargados de manipular los atributos del objeto. Es posible ocultar ciertos atributos o comportamientos (parte privada) y mostrar otros (parte pblica). La parte pblica de una clase se conoce como interface de la clase. Es una buena prctica mantener los atributos ocultos: encapsulacin.
10
4.- Herencia
Permite la creacin de clasificaciones jerrquicas. Persona Miembro UPV Estudiante
Personal
Profesor
P. Servicios
Est. Teleco
Est. Informtica
11
4.- Herencia
Una clase general define las caractersticas comunes a un conjunto de subclases. Clase general superclase Clase heredada subclase La subclase es una versin especializada de la superclase. Una subclase rene todas las propiedades de la clase padre (superclase), adems de las suyas propias. Beneficios de la herencia:
Reutilizacin del cdigo. Consistencia de la interface. Cdigo ms fiable y robusto. Menor coste de mantenimiento.
12