Introduccion a la poo
-
Upload
boris-salleg -
Category
Education
-
view
2.424 -
download
1
description
Transcript of Introduccion a la poo
![Page 1: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/1.jpg)
POOPROGRAAMACIÓN ORIENTADA A OBJETOS
BORIS SALLEG ROYEROING. DE SISTEMAS DE INFORMACIÓN
![Page 2: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/3.jpg)
ABSTRACCION DEL MUNDO REAL
![Page 4: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/4.jpg)
DEFINICION DE OBJETO
![Page 5: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/5.jpg)
![Page 6: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/9.jpg)
• Es el ocultamiento de la Funcionalidad interna de sus
operaciones, de otros objetos y del mundo exterior.
ENCAPSULAMIENTO
![Page 10: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/10.jpg)
• 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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/11.jpg)
ENCAPSULAMIENTO
![Page 12: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/14.jpg)
• 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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/15.jpg)
• 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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/16.jpg)
• 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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/23.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/24.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/25.jpg)
DIFERENCIA ENTRE CLASE E INSTANCIAS DE OBJETO
![Page 26: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/26.jpg)
DIFERENCIA ENTRE CLASE E INSTANCIAS DE OBJETO
![Page 27: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/27.jpg)
INSTANCIACION
![Page 28: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/28.jpg)
![Page 29: Introduccion a la poo](https://reader034.fdocuments.ec/reader034/viewer/2022042522/559e1a0b1a28abef5b8b456c/html5/thumbnails/29.jpg)
BIBLIOGRAFIA
• http://luis.izqui.org/resources/ProgOrientadaObjetos.pdf