Tjava7
Páginas: 11 (2603 palabras)
Publicado: 8 de abril de 2015
Relaciones de composición y
Herencia
Características:
• Composición “tiene un”
• Herencia “es un”
• Polimorfismo.
•Abstracción.
•Clases y objetos.
Java
Arrays y Cadenas
1
Java
Composición
2
Composición: clase Círculo
public class
class Punto
Punto {{
public
int xx;;
int
int yy;;
int
public Punto(
Punto(int
int x,
x, int
int y)
y) {{
public
this.x
.x == x;
x;
this
this
.y
=y;
this .y = y;
}}
public Punto()
Punto() {{
public
// llamada
llamada al
al otro
otro constructor
constructor
//
this(-1,
(-1, --1);
1); }}
this
public
void
mostrar(){
public void mostrar(){
System.out.println(“x == ““ ++ xx +”
+” yy == ““ ++ y);
y); }}
System.out.println(“x
public static
static void
void main
main(String
(String args[])
args[]) {{
public
Punto pun1
pun1 == new
new Punto();Punto();
Punto
Punto pun2
pun2 == new
new Punto(2,3);
Punto(2,3);
Punto
System.out.println( "visualizar
"visualizar datos
datos del
del punto"
punto" );
);
System.out.println(
pun1.mostrar();
pun1.mostrar();
pun2.mostrar();}}
pun2.mostrar();}}
Java
Arrays y Cadenas
Arrays y Cadenas
public class
class Circulo
Circulo {{
public
Punto origen;
origen;
Punto
int radio;
radio;
int
public Circulo(intCirculo(int x,
x, int
int y,
y, int
int radio)
radio) {{
public
origen == new
new Punto(x,y);
Punto(x,y);
origen
this.radio
.radio == radio;
radio;
this
}}
public void
void mostrar()
mostrar() {{
public
origen.mostrar();
origen.mostrar();
System.out.println("radio == "" ++ radio);
radio);
System.out.println("radio
}}
public static
static void
void main(
main(String
String args[])
args[]) {{
publicCirculo cir
cir == new
new Circulo(5,
Circulo(5, 5,
5, 9);
9);
Circulo
System.out.println( "visualizar
"visualizar datos
datos del
del circulo"
circulo" );
);
System.out.println(
cir.mostrar();
}}
cir.mostrar();
}}
3
Java
Arrays y Cadenas
4
Herencia: La palabra
reservada extends
Tipos de programación
Cuando se crea un modelo de algo y luego se quiere
una versión más actualizada:
encapsulaciónpublic class Empleado
{
String nombre;
Date anionac;
String puesto;
int categoría;
Basado en
objetos
+ clases
Basado en
clases
+ herencia
...
Orientado a
Objetos
public class jefe
{
String nombre;
¡datos duplicados!
Date anionac;
String puesto;
int categoría;
String departamento;
Empleado [] subordinados;
}
...
}
Java
Arrays y Cadenas
5
Java
Arrays y Cadenas
6
1
Herencia: Lapalabra
reservada extends
Herencia: La palabra
reservada extends
Se puede definir una clase a partir de otra definida
previamente.
La clase Jefe para tener todas las variables y
métodos de la clase Empleado no tiene que
definirlos, los hereda de la clase padre.
public class Empleado {
Todo lo que se tiene que definir después son
las características adicionales y especificar los
cambios que sequieren aplicar.
String nombre;
Date anionac;
String puesto;
int categoría; }
public class Jefe extends Empleado {
String departamento;
Arrays y Cadenas}
Empleado [ ] Java
subordinados;
7
Ejemplo de Herencia
Cuando una clase hereda sólo de otra clase,
se llama herencia simple.
Herencia simple hace que el código sea
reutilizable.
Mamífero
Primate
Java proporciona las interfaces que
proporcionanlas ventajas de la herencia
múltiple y no presentan sus inconvenientes.
Canino
Chimpance
Java
Perro
Lobo
Arrays y Cadenas
9
Los constructores no se
heredan
Java
public class
class Persona
Persona {{
public
String nombre
nombre == "";
"";
String
int edad;
edad;
int
10
Persona
public Persona(String
Persona(String nom
nom,, int
int ed)
ed) {{
public
nombre == nom;
nom;
nombre
edad
=
ed;edad = ed;
}}
Una clase no hereda los constructores de la
superclase.
Trabajador
public void
void mostrar()
mostrar() {{
public
System.out.println("Nombre: "+
"+ nombre);
nombre);
System.out.println("Nombre:
System.out.println("Edad:
"+ edad);
edad);
System.out.println("Edad: "+
}}
public static
static void
void main(String
main(String args[])
args[]) {{
public
Persona yo=
yo= new
new...
Leer documento completo
Regístrate para leer el documento completo.