You are on page 1of 29

POO

PROGRAAMACIN ORIENTADA A OBJETOS

BORIS SALLEG ROYERO ING. DE SISTEMAS DE INFORMACIN

POO
POO o Programacin Orientada a Objetos es una manera de interpretar la programacin basndose en el mundo real y transportndolo al mundo virtual, tomando representaciones de objetos reales tales como sus caractersticas o propiedades, para hacerlos interactuar con el usuario tal como se hara realmente.

ABSTRACCION DEL MUNDO REAL

DEFINICION DE OBJETO

HERENCIA
Es la Cualidad mas importante de la OOP. Es un mecanismo mediante el cual se puede crear una nueva clase partiendo de una existente, se dice que la nueva clase hereda las caractersticas de la clase existente, aunque se le puede aadir mas capacidades o modificar las que tiene.

VehiculoDeMotor
A ttributes + Cilindrada : int + NumeroDeRueda : int Operations + acelelar() : void

Coches
A ttributes + NumeroDePuertas : int Operations

Motos
A ttributes + TipoCarenado : string Operations

Conceptos bsicos: HERENCIA


Generalizacin / Especializacin Los objetos heredan las caractersticas de la clase. Las clases pueden heredar de otras clases.
Extensin. Restriccin. Modificacin.
Electrodomstico tensin consumo Conectar Desconectar

Utilidad:
Abstraccin. Reutilizacin.
Lavadora Hormiga capacidad

Televisor numCanales

Plancha vapor

Ejemplo de herencia
Objeto material

Animal Mamfero

Planta Flor

Perro

Humano

Ornitorrinco

Comerciante

Artista

Dentista

Florista

Relmpago

Flo

Beth

Ken

Pepe

flores de la abuela

ENCAPSULAMIENTO
Es el ocultamiento de la Funcionalidad interna de sus operaciones, de otros objetos y del mundo exterior.

ENCAPSULAMIENTO
Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos Deben ser declarados como privados Permite abstraer al resto del mundo de la complejidad de la implementacin interna Permite exponer el estado del objeto slo a travs del comportamiento que le hayamos definido mediante miembros pblicos Por qu es til? Punto de Control/Validacin Mejor respuesta ante los Cambios

ENCAPSULAMIENTO

public class persona { private String Nombre; private String Apellido; private int Edad; private String Ciudad; private int id; public persona() { } public String getNombre() { return Nombre;

ENCAPSULAMIENTO

} public void setNombre(String Nombre) { this.Nombre = Nombre; } public String getApellido() { return Apellido; } public void setApellido(String Apellido) { this.Apellido = Apellido; }

public int getEdad() { return Edad; } public void setEdad(int Edad) { this.Edad = Edad; } public String getCiudad() { return Ciudad; } public void setCiudad(String Ciudad) { this.Ciudad = Ciudad; } public int getId() { return id; }

POLIMORFISMO
En ocasiones una accin tiene el mismo nombre en diferentes Clases o en la misma, pero realizara una operacin diferente. En la OOP cada Clase SABE como realizar cada operacin. Es la posibilidad de que dos Mtodos implementen distintas acciones, aun teniendo el mismo nombre, dependiendo del Objeto que lo ejecuta o de los parmetros que recibe.

POLIMORFISMO
La Sobrecarga es un tipo especial del Polimorfismo.
Varios Mtodos con el mismo nombre, siempre y cuando que el tipo de parmetros que recibe o el numero sean diferentes.

POLIMORFISMO
Es la propiedad que tienen los objetos de permitir invocar genricamente un comportamiento (mtodo) cuya implementacin ser delegada al objeto correspondiente recin en tiempo de ejecucin
El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es as.

Polimorfismo - Ejemplo
La definicin del mtodo reside en la clase base La implementacin del mtodo reside en la clase derivada La invocacin es resuelta al momento de ejecucin
Transporte
Avanzar

Transporte
Avanzar Frenar

Frenar

Transporte
Avanzar Frenar

Transporte
Avanzar Frenar

Conceptos bsicos: POLIMORFISMO


Ej: Operacin Abrir
Puerta Abrir()

Cuenta
Abrir()

Puerto Abrir()

Plazo

Abrir()

Permite al modelador hablar el lenguaje del cliente. Evita asignar identificadores artificiosos para distinguir las operaciones. Contribuye a la reutilizacin de cdigo. Ej: Operacin Enchufar
TomaDeCorriente tensin Enchufar(e:Electrodomstico)
Tema 5. El Paradigma Orientado a Objetos.

18

POLIMORFISMO
public persona() { } public persona(String Nombre, String Apellido) { this.Nombre= Nombre; this. Apellido= Apellido; } public persona(String Nombre, String Apellido, int Edad) { this.Nombre= Nombre; this. Apellido= Apellido; this.Edad= Edad; }

CLASE
Una clase es una agrupacin de datos (variables o campos) y de funciones (mtodos) que operan sobre esos datos. Una clase es una plantilla que define las variables y los mtodos que son comunes para todos los objetos de un cierto tipo. public class Classname { ... // definicin de variables y mtodos }

CLASE

Qu es una clase? Una clase es una plantilla para crear objetos. La definicin de una clase especifica las operaciones y los atributos para todas las instancias de la clase(objetos).

CONCEPTO DE INSTANCIA
Una de las caractersticas ms tiles de Java es la posibilidad de crear clases e instancias a partir de estas clases. class Perro es la declaracin de la clase Perro a partir de la cual podremos crear varias instancias.

clase Perro Inicio //Variables de instancia de Perro. Cadena nombre; Cadena color; Entero edad; //Constructor de Perro. publico Perro(Cadena nombre, Cadena color, Entero edad) Inicio Perro.nombre = nombre; Perro.color = color; Perro.edad = edad; Fin //Mtodos de Perro. Publico comer() Inicio Escriba(nombre + " comiendo."); Fin publico morder() Inicio Escriba(nombre + " mordiendo."); Fin Fin//Fin clase Perro Para crear ahora objetos de la clase Perro es tan sencillo como: dogo = nuevo Perro(Koky, Negro, 2); danes= nuevo Perro(Rififi, Caf,4);

Ahorrandonos escribir mucho cdigo

class Perro { //Variables de instancia de Perro. String nombre; String color; int edad; //Constructor de Perro. public Perro(String nombre, String color, int edad) { this.nombre = nombre; this.color = color; this.edad = edad; } //Mtodos de Perro. public void comer() { System.out.println(nombre + " comiendo."); } public void morder() { System.out.println(nombre + " mordiendo."); } }//Fin clase Perro dogo = new Perro(Koky, Negro, 2); danes= new Perro(Rififi, Caf,4); Nota: Ejemplo de implementacin en Java.

DIFERENCIA ENTRE CLASE E INSTANCIAS DE OBJETO

DIFERENCIA ENTRE CLASE E INSTANCIAS DE OBJETO

INSTANCIACION

BIBLIOGRAFIA

http://luis.izqui.org/resources/ProgOrientada Objetos.pdf