Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Poo PDF
Poo PDF
Curso de Java
POO: Programacion orientada a objetos
Marzo 2010
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Indice
1 Introducci
on a la POO
2 Herencia y polimorfismo
3 Empaquetado de proyectos
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Indice
1 Introducci
on a la POO
POO en Java
2 Herencia y polimorfismo
3 Empaquetado de proyectos
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Paradigma
Caractersticas de la POO
Facilidad de dise
no y relaci
on con el mundo real (UML)
Reusabilidad y facilidad de mantenimiento
Sistemas mas complejos
Abstracci
on
Trabajo en equipo
Del lenguaje maquina hacia el mundo real
Resuelve problemas complicados. No esta pensado para tareas
sencillas
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
UML
UML (Unified Modeling Language): Lenguaje unificado de
modelos
Mapa del codigo. No sirve para desarrollar, sino para
describir
Se utilizan diferentes diagramas. 13 en UML 2.0
Elementos de la POO
Elementos de la POO
Objetos
Elementos con comportamiento y estado. Metodos y atributos
concretos
Instancias de clase
Interactuan por medio de mensajes
Clases
Plantillas para definir elementos (objetos)
Pueden estar directamente relacionadas unas con otras
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Objetos
Elementos con comportamiento y estado. Metodos y atributos
concretos
Instancias de clase
Interactuan por medio de mensajes
Clases
Plantillas para definir elementos (objetos)
Pueden estar directamente relacionadas unas con otras
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Ejemplo de plantilla
p u b l i c c l a s s NombreClase {
/
Atributos :
t i p o nombreAtributo1 ;
t i p o nombreAtributo2 ;
/
/
Metodos :
s a l i d a nombreMetodo1 ( p a r a m e t r o s ) { c o n t e n i d o d e l
metodo } ;
s a l i d a nombreMetodo2 ( p a r a m e t r o s ) { c o n t e n i d o d e l
metodo } ;
/
}
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
POO en Java
S t r i n g nombre ;
String raza ;
float altura ;
void p e r r o ( ) {}
void comer ( ) {}
void d o r m i r ( ) {}
void l a d r a r ( ) {}
}
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Encapsulacion
POO en Java
POO en Java
p r i v a t e S t r i n g nombre ;
private String raza ;
private float altura ;
public void p e r r o ( ) {}
public void comer ( ) {}
public void d o r m i r ( ) {}
public void l a d r a r ( ) {}
}
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Operadores
Operador .
Acceso a miembros de una clase:
p e r r o 1 . nombre = Pancho ;
perro1 . ladrar () ;
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Operadores
Operador .
Acceso a miembros de una clase:
p e r r o 1 . nombre = Pancho ;
perro1 . ladrar () ;
Si soy la clase Due
no...
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Operadores
Operador .
Acceso a miembros de una clase:
p e r r o 1 . nombre = Pancho ;
perro1 . ladrar () ;
no... Cuidado con la visibilidad!
Si soy la clase Due
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Operadores
Operador .
Acceso a miembros de una clase:
p e r r o 1 . nombre = Pancho ;
perro1 . ladrar () ;
no... Cuidado con la visibilidad!
Si soy la clase Due
Operador this
Acceso a atributos dentro de la propia clase:
t h i s . nombre = Pancho ;
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Metodos
Estructura
Cabecera: modificadores - tipoSalida - nombre - (parametros)
Cuerpo: Se define la implementaci
on
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Metodos habituales
Constructor
Sirve para inicializar un objeto al crearlo
Existe sobrecarga (distintos parametros) (para cualquier
metodo)
Coincide con el nombre de la clase y no devuelve nada por
definicion
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Metodos habituales
Constructor
Sirve para inicializar un objeto al crearlo
Existe sobrecarga (distintos parametros) (para cualquier
metodo)
Coincide con el nombre de la clase y no devuelve nada por
definicion
POO en Java
POO en Java
Metodos tpicos
Destructor
No es tan tpico, no se suele usar (se hace de manera
automatica)
Se tiene que sobreescribir
No devuelve nada por definici
on
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Metodos tpicos
Destructor
No es tan tpico, no se suele usar (se hace de manera
automatica)
Se tiene que sobreescribir
No devuelve nada por definici
on
finalize
protected void f i n a l i z e ( )
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
POO en Java
Instanciacion de objetos
POO en Java
Instanciacion de objetos
POO en Java
Uso de objetos
POO en Java
Uso de objetos
POO en Java
Tipos de variables
POO en Java
Tipos de variables
POO en Java
Tipos de variables
Indice
1 Introducci
on a la POO
2 Herencia y polimorfismo
Herencia
Polimorfismo
3 Empaquetado de proyectos
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Herencia
Herencia
Herencia
Superclase y Subclase
Trabajador es la superclase
Empleado y consultor son subclases
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Herencia
Superclase y subclase
Herencia
Clase Object
Herencia
Clase Object
Herencia
Ejemplo de superclase
p u b l i c c l a s s Mamifero {
p u b l i c Mamifero ( S t r i n g nombre , S t r i n g o r i g e n , i n t
patas ){
t h i s . nombre = nombre ;
this . origen = origen ;
this . patas = patas
}
...
}
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Herencia
Ejemplo de subclase
p u b l i c c l a s s P e r r o e x t e n d s Mamifero {
private String raza ;
...
p u b l i c P e r r o ( S t r i n g nombre , S t r i n g o r i g e n ) {
s u p e r ( nombre , o r i g e n , 4 )
}
...
}
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Herencia
Palabras reservadas
extends
Sirve para indicar la superclase de la cual se hereda
super
Sirve para acceder a miembros de la superclase desde la subclase
super = Llamada al constructor
super.metodoquesea = Llamada al metodoquesea
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Herencia
Recordatorio
Polimorfismo
Redefinicion de metodos
Polimorfismo
Ejemplo
Polimorfismo
Ejemplo
Polimorfismo
Ejemplo
Polimorfismo
Apuntes
p u b l i c f i n a l v o i d mover ( )
p u b l i c f i n a l c l a s s P e r r o extends Mamifero
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Polimorfismo
Clases Abstractas
Polimorfismo
Clases Abstractas
abstract
Polimorfismo
Ejemplo abstract
Polimorfismo
Ejemplo abstract
Polimorfismo
Ejemplo abstract
Polimorfismo
Clases Interfaz
Polimorfismo
Palabras reservadas
interface
implements
p u b l i c c l a s s C i r c u l o implements F i g u r a
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Polimorfismo
Interfaz
Polimorfismo
Herencia multiple
Polimorfismo
Herencia multiple
Polimorfismo
Herencia multiple
Indice
1 Introducci
on a la POO
2 Herencia y polimorfismo
3 Empaquetado de proyectos
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Ficheros
Ficheros
Paquetes
Paquetes
package e j e m p l o ;
public class . . . {
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Paquetes
package e j e m p l o ;
public class . . . {
Paquetes
package e j e m p l o . o b j e t o s ;
Importar clases
import
import e j e m p l o . ;
import e j e m p l o . C o n c r e t o ;
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Accesos directos
No es recomendable usarlo
Se utilizara si vamos a acceder a algo muy concreto de otro
paquete
Acceso directo
e j e m p l o . C o n c r e t o ejem = new e j e m p l o .
Concreto () ;
Introducci
on a la POO Herencia y polimorfismo Empaquetado de proyectos
Librerias externas
.JAR