1. PROGRAMACION ORIENTADA A OBJETO
Programación Orientada a Objetos
Clases / Objetos
Persona
Persona
Persona
atributosoperaciones
J. Mancilla M.
Con proceso de Instanciación de clase
3. PROGRAMACION ORIENTADA A OBJETO
Clases
Clase: Un conjunto de objetos con las mismas
características (datos y comportamiento).
Las clases son módulosmódulos.
No existe el programa principal ni los subprogramas como
unidades modulares independientes.
Clase es un Molde para crear Objetos.Molde para crear Objetos.
Un Objeto es una instancia de una claseinstancia de una clase
Un Objeto existe en el tiempo de ejecuciónexiste en el tiempo de ejecución de sistema.
Tiene su construcción, duración, destrucción, etc.
Una clase no existeno existe en tiempo de ejecución.
Objetos
4. PROGRAMACION ORIENTADA A OBJETO
Clases
Las definiciones de clases son abstracciones
Ellas definen el comportamiento
Ellas no definen cómo es logrado
Las clases son cajas negras
Objetos
Son las muestras que se derivan de una clase
Son los elementos que se llevan a memoria
Tienen características dinámicas y comportamientos.
5. PROGRAMACION ORIENTADA A OBJETO
Clase
En la definición (creación) de las clases se debe especificar:
Atributos:
Nombre
Apellidos paterno y materno
RUT
Edad
Sexo, etc.
Métodos():
estudiar()
hacerTareas()
leer(), etc.
5
6. PROGRAMACION ORIENTADA A OBJETO 6
Alumno
Nombre
Apellido paterno
Apellido materno
Edad
RUT
Fono
Métodos()
Atributos
•Son genéricos (generales)
•No tienen valor (abstractos)
•Características que definen al objeto
•Todos los objetos que se creen
(instancien) a partir de esta clase tendrán los
mismos atributos
Clase
8. PROGRAMACION ORIENTADA A OBJETO
visibilidad
nombre: nombre del atributo
tipo: tipo del atributo
valor_inicial: valor inicial o por defecto
(+) pública
(#) protegida
(-) privada
Atributos
Cliente
nombre : String
9. PROGRAMACION ORIENTADA A OBJETO
Atributos de la Clase
Los atributos se deben definir en la clase:
Ejemplo: nombre, apellidoPaterno, rut, dirección
Atributos = Campos
Diferentes clases pueden tener diferentes atributos.
Ejemplos:
Clase circulo: diámetro, radio, área
Clase triangulo: base, altura, área
9
10. PROGRAMACION ORIENTADA A OBJETO
Tipo de Métodos de la Clase
Los tipos de métodos u operaciones que se pueden
definir en la clase son:
Constructores: Con y Sin Parámetros:
Inicializan o cargan variables
Accesador:
Permite el retorno o acceso de un tipo de dato
Mutante:
Permite el cambio de un atributo o tipo de dato.
Particularizado:
Permite implementación de reglas de negocio,
operaciones especiales y presentación de datos o
atributos.
10
11. PROGRAMACION ORIENTADA A OBJETO
11
visibilidad
nombre: nombre de la operación
lista_parámetros: lista de parámetros separados por comas
tipo retorno: tipo de valor devuelto por la
operación(String, int, double, char, etc)
(+) pública
(#) protegida
(-) privada
Operaciones / Métodos
Atributos
Operaciones
Cuenta
ultimoCodigo
codigo
cliente
saldo
ultimasOperaciones
getSaldo()
getUltimasOperaciones()
nuevoCodigo()
Encabezado o header
12. PROGRAMACION ORIENTADA A OBJETO
En resumen -> Clases - Objetos
12
Persona
Persona
Persona
atributosoperaciones
Representación: rectángulo extendido (con 2 ó 3 secciones) o compacto con
nombre significativo en singular
JuanPérez: Persona
JuanPérez:
Persona
Clase
Objeto
13. PROGRAMACION ORIENTADA A OBJETO
Ejemplo de implementacion de una Clase en Java
13
/**Clase que contiene los atributos y operaciones de Alumnos */
public class Alumno
{ // Atributos
private String rut;
private String nombre;
private String appat;
private String apmat;
private String fono;
private int edad;
/*Constructor Sin Parametros */
public Alumno()
{ rut=null; nombre="“; appat="“; apmat="“; fono=null;
edad=0;
}
/*Constructor con Parametros */
public Alumno(String rut, String nombre, String appat, String apmat, String fono,int edad)
{ this.rut=rut;
this.nombre=nombre;
this.appat=appat;
this.apmat=apmat;
this.fono=fono;
this.edad=edad;
}
14. PROGRAMACION ORIENTADA A OBJETO
Ejemplo de implementacion de una Clase en Java
14
//ACCESADORES
public String getRut() { return rut;}
public String getNombre() { return nombre;}
public String getAppat() { return appat;}
public String getApmat() { return apmat;}
public String geFono() { return fono;}
public int getEdad() { return edad;}
//MUTANTES
public void setRut(String rut) { this.rut=rut;}
public void setNombre(String nombre) { this.nombre=nombre;}
public void setAppat(String appat) { this.appat=appat;}
public void setApmat(String apmat) { this.apmat=apmat;}
public void setFono(String fono) { this.fono=fono;}
public void setEdad(int edad) { this.edad=edad;}
//PARTICULARIZADOS
public void imprimirDatos()
{ System.out.println("DATOS DEL ALUMNO");
System.out.println("****************");
System.out.println("RUT "+getRut());
System.out.println(“NOMBRE "+getNombre());
}
}//Clase
15. PROGRAMACION ORIENTADA A OBJETO
Ejemplo de Instanciación y ejecución
15
//Clase instanciadora
import java.io.*;//Para importar y reconocer instrucciones y excepciones
public class Prueba
{ //Declaración de un lector para captura de datos
static InputStreamReader isr=new InputStreamReader(System.in);
static BufferedReader lector=new BufferedReader(isr);
public static void main (String args[]) throws IOException //Lanza excepcion
{ Alumno alumno =new Alumno();
//Declaración de variables
int op=0, cargo=0,opc=0,enc=0,pos=-1, modi=0;
String nombre,apellido,rut,sucursal,departamento;
//Uso del lector
System.out.println(“Ingreso de Datos");
System.out.println("===============");
System.out.print("Rut :"); rut=lector.readLine();
System.out.print("Nombre :"); nombre=lector.readLine();
System.out.print("Apellido Paterno :"); appat=lector.readLine();
System.out.print("Apellido Materno :“); apmat=lector.readLine();
System.out.print(“Telefono :"); fono=lector.readLine();
System.out.print(“Edad :"); edad=Integer.parseInt(lector.readLine());
alumno=new Alumno(rut,nombre,appat,apmat,fono,edad);
System.out.print(“Registro cargado...Verifique muestra...");
System.out.println("/4.Asistente/5.Jefe de productos/6.Staff“+alumno.imprimirDatos());
System.out.println(“Proceso Finalizado......");
}//main
}//Clase
16. PROGRAMACION ORIENTADA A OBJETO
Programación Orientación a Objetos
Persona
Persona
Persona
atributosoperaciones
Fin Presentacion