2. Quevedo Dioses Victor
1. Programación Orientada a Objetos
Un objeto es cualquier cosa del mundo real que incorpore una
estructura y un comportamiento o acción.
Una clase se considera un “molde” a partir del cual se crea
múltiples objetos.
3. Quevedo Dioses Victor
1. Programación Orientada a Objetos
Libro
+cod: String
+tit: String
+pre: double
+setCod(c: String)
+setTit(t: String)
+setPre(p: double)
+getCod(): String
+getTit(): String
+getPre(): double
public class Libro
{
public String cod;
public String tit;
public double pre;
public void setCod(String c) {this.cod=c; }
public void setTit(String t) {this.tit=t; }
public void setPre(double p){this.pre=p; }
public String getCod() {return cod; }
public String getTit() { return tit; }
public double getPre() { return pre; }
}
Objeto del mudo real Objeto del mundo virtual
4. Quevedo Dioses Victor
3. Estructura de una clase
La estructura de un programa en Java:
4
IMPORTAR CLASES
PAQUETE
PROPIEDADES (VARIABLES)
METODO CONSTRUCTOR
METODO QUE NO DEVUELVE
RESULTADOS
METODO QUE DEVUELVE
RESULTADOS
METODO MAESTRO
5. Quevedo Dioses Victor
4. Métodos
Cuando se escribe un método, se declara el número y tipo de
los argumentos requeridos por ese método.
Se puede pasar como argumento a un método cualquier tipo de
dato o tipos de referencia como variables, arreglos, colecciones
y objetos
Se debe utilizar la refencia this en un método para evitar la
ambigüedad entre los argumentos.
También se puede utilizar this para llamar a uno de los métodos
del objeto actual.
5
7. Quevedo Dioses Victor 7
public class Facturar
{
// instance variables - replace the example below with your own
private double cantidad;
private double precio;
// Constructor al que se le deben pasar dos parámetros que sirven para
inicializar los atributos de la clase
public Facturar(double cantidad, double precio) {
// initialise instance variables
this.cantidad = cantidad;
this.precio = precio;
}
public void setPrecio(double precio){
this.precio = precio;
}
8. Quevedo Dioses Victor 8
public void setCantidad(double cantidad){
this.cantidad = cantidad;
}
public double getPrecio(){
return this.precio;
}
public double getCantidad(){
return this.cantidad;
}
}
11. Quevedo Dioses Victor
1. Fundamentos
Medio de
transporte
Vehiculo aéreo
Objeto de
oficina
Cosa
Coche
Medio de tele-
comunicación
12. Quevedo Dioses Victor
1. Fundamentos
Permite que se pueden definir nuevas clases basadas en clases
existentes, lo cual facilita re-utilizar código.
Si una clase deriva de otra (extends), hereda todas sus variables
y métodos. La clase derivada puede añadir y/o redefinir
variables y métodos heredados.
Cuando heredamos de una clase existente, estamos re-usando
código (métodos y campos).
12
13. Quevedo Dioses Victor
1. Fundamentos
La herencia la identificamos cuando encontramos la relación
es-un entre la nueva clase y la ya existente. Un estudiante es
una persona.
La clase ya existente se le llama superclase, clase base , o clase
padre.
A la nueva clase se le llama subclase, clase derivada, o clase
hija.
13
16. Quevedo Dioses Victor
1. Fundamentos
16
public class Padre {
public int metodo(int a) {...}
}
public class Hija extends Padre{
public int metodo(int a) {...}
}
Clase Padre
Clase Hija
18. Quevedo Dioses Victor 18
package javaherencia;
public class Papa {
//atributos
//ambito protected
protected double herencia;
public Papa(double herencia)
{
this.herencia=herencia;
}
•}
Clase Papa
19. Quevedo Dioses Victor 19
package javaherencia;
public class Hijos extends Papa{
//constructor
public Hijos (double herencia)
{super(herencia);
}
20. Quevedo Dioses Victor 20
//metodos
public double getHerenciaHijo1()
{double herencia1;
herencia1=herencia/2;
return herencia1;
}
21. Quevedo Dioses Victor 21
public double getHerenciaHijo2()
{double herencia2;
herencia2=getHerenciaHijo1()/3;
return herencia2;
}
22. Quevedo Dioses Victor 22
public double getHerenciaHijo3()
{double herencia3;
herencia3=
getHerenciaHijo1()-getHerenciaHijo2();
return herencia3;
}
25. Quevedo Dioses Victor
Referencias
Deitel, Harvey (2004). Como programar en Java,
Mexico:Pearson Educación
Vásquez, Julio (2011). Súper Java SE for Windows with
NETBEANS IDE, Perú: Fondo Editorial UCH (2da edición)
25