introduccion a la poo

29
POO PROGRAAMACIÓN ORIENTADA A OBJETOS BORIS SALLEG ROYERO ING. DE SISTEMAS DE INFORMACIÓN

Upload: boris-salleg

Post on 09-Jul-2015

2.421 views

Category:

Education


1 download

DESCRIPTION

Pequeña descripcion de la metodologia para programar orientado a objetos

TRANSCRIPT

Page 1: Introduccion a la poo

POOPROGRAAMACIÓN ORIENTADA A OBJETOS

BORIS SALLEG ROYEROING. DE SISTEMAS DE INFORMACIÓN

Page 2: Introduccion a la poo

POO• POO o Programación Orientada a Objetos es una manera de

interpretar la programación basándose en el mundo real ytransportándolo al mundo virtual, tomando representaciones deobjetos reales tales como sus características o propiedades, parahacerlos interactuar con el usuario tal como se haría realmente.

Page 3: Introduccion a la poo

ABSTRACCION DEL MUNDO REAL

Page 4: Introduccion a la poo

DEFINICION DE OBJETO

Page 5: Introduccion a la poo
Page 6: Introduccion a la poo

HERENCIA

• Es la Cualidad mas importante de laOOP.

• Es un mecanismo mediante el cualse puede crear una nueva clasepartiendo de una existente, se diceque la nueva clase hereda lascaracterísticas de la claseexistente, aunque se le puedeañadir mas capacidades o modificarlas que tiene.

VehiculoDeMotor

Attributes

+ Cilindrada : int

+ NumeroDeRueda : int

Operations

+ acelelar() : void

Coches

Attributes

+ NumeroDePuertas : int

Operations

Motos

Attributes

+ TipoCarenado : string

Operations

Page 7: Introduccion a la poo

Conceptos básicos: HERENCIA

• Generalización / Especialización

• Los objetos “heredan” las características de la clase.

• Las clases pueden heredar de otras clases.– Extensión.

– Restricción.

– Modificación.

• Utilidad:– Abstracción.

– Reutilización.

Hormiga PlanchaTelevisor

Electrodoméstico

tensión

consumo

Conectar

Desconectar

Lavadora

capacidad numCanales vapor

Page 8: Introduccion a la poo

Ejemplo de herencia

Objeto material

Animal Planta

Mamífero

Perro Humano Ornitorrinco

Comerciante Artista Dentista

Florista

Relámpago Flo Beth Ken Pepe

Flor

flores de la abuela

Page 9: Introduccion a la poo

• Es el ocultamiento de la Funcionalidad interna de sus

operaciones, de otros objetos y del mundo exterior.

ENCAPSULAMIENTO

Page 10: Introduccion a la poo

• Principio que establece que los atributos propios de un objetono deben ser visibles desde otros objetos

– Deben ser declarados como privados

• Permite abstraer al resto del mundo de la complejidad de laimplementación interna

• Permite exponer el estado del objeto sólo a través delcomportamiento que le hayamos definido mediante miembrospúblicos

• ¿Por qué es útil?

– Punto de Control/Validación

– Mejor respuesta ante los Cambios

ENCAPSULAMIENTO

Page 11: Introduccion a la poo

ENCAPSULAMIENTO

Page 12: Introduccion a la poo

ENCAPSULAMIENTOpublic class persona

{

private String Nombre;

private String Apellido;

private int Edad;

private String Ciudad;

private int id;

public persona()

{ }

public String getNombre()

{

return Nombre;

}

public void setNombre(String Nombre)

{

this.Nombre = Nombre;

}

public String getApellido()

{

return Apellido;

}

public void setApellido(String Apellido)

{

this.Apellido = Apellido;

}

Page 13: Introduccion a la poo

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;

}

Page 14: Introduccion a la poo

• En ocasiones una acción tiene el mismo nombre en diferentes

Clases o en la misma, pero realizara una operación diferente.

• En la OOP cada Clase “SABE” como realizar cada operación.

• Es la posibilidad de que dos Métodos implementen distintas

acciones, aun teniendo el mismo nombre, dependiendo del

Objeto que lo ejecuta o de los parámetros que recibe.

POLIMORFISMO

Page 15: Introduccion a la poo

• La Sobrecarga es un tipo especial del Polimorfismo.

• Varios Métodos con el mismo nombre, siempre y cuando que

el tipo de parámetros que recibe o el numero sean diferentes.

POLIMORFISMO

Page 16: Introduccion a la poo

• Es la propiedad que tienen los objetos de permitir invocar

genéricamente un comportamiento (método) cuya

implementación será delegada al objeto correspondiente recién

en tiempo de ejecución

• El polimorfismo tiende a existir en las relaciones de

herencia, pero no siempre es así.

POLIMORFISMO

Page 17: Introduccion a la poo

Polimorfismo - Ejemplo

• La definición del método reside en la clase base

• La implementación del método reside en la clase derivada

• La invocación es resuelta al momento de ejecución

Transporte

Avanzar

Frenar Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

Page 18: Introduccion a la poo

Conceptos básicos: POLIMORFISMO

• Ej: Operación “Abrir”

Tema 5. El Paradigma Orientado a Objetos.

18

Permite al modelador hablar el lenguaje del cliente.

Evita asignar identificadores artificiosos para distinguir las

operaciones.

Contribuye a la reutilización de código.

Ej: Operación “Enchufar”

Puerta PlazoPuertoCuenta

Abrir()Abrir() Abrir()Abrir()

TomaDeCorriente

tensión

Enchufar(e:Electrodoméstico)

Page 19: Introduccion a la poo

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;

}

Page 20: Introduccion a la poo

CLASE• Una clase es una agrupación de datos (variables o

campos) y de funciones (métodos) que operan sobre esos datos.

• Una clase es una plantilla que define las variables y los métodos que son comunes para todos los objetos de un cierto tipo.

public class Classname

{ ... // definición de variables y

métodos

}

Page 21: Introduccion a la poo

CLASE

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

Page 22: Introduccion a la poo

CONCEPTO DE INSTANCIA

• Una de las características más útiles de Java es la posibilidad de crear clases e instancias a partir de estas clases.

• class Perro es la declaración de la clase Perro a partir de la cual podremos crear varias instancias.

Page 23: Introduccion a la poo

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

//Métodos 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 código

Page 24: Introduccion a la poo

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;

}

//Métodos 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 implementación en Java.

Page 25: Introduccion a la poo

DIFERENCIA ENTRE CLASE E INSTANCIAS DE OBJETO

Page 26: Introduccion a la poo

DIFERENCIA ENTRE CLASE E INSTANCIAS DE OBJETO

Page 27: Introduccion a la poo

INSTANCIACION

Page 28: Introduccion a la poo
Page 29: Introduccion a la poo

BIBLIOGRAFIA

• http://luis.izqui.org/resources/ProgOrientadaObjetos.pdf