Orientaci贸n a Objetos Cap铆tulo 5
EPIS UNSA - 2008
marcoaedo@hotmail.com
Objetivos 1.3 1.3
Quit
Comprender
los conceptos de clase, objeto, atributo y método Aprender a declarar y crear objetos Valorar las ventajas de la orientación a objetos Solucionar problemas aplicando el paradigma Orientado a Objetos EPIS UNSA - 2008
marcoaedo@hotmail.com
1. Conceptos 1.4 1.4
Quit
•
Clase: Abstracción del mundo real
•
Objetos: Instancia u ocurrencia de una clase
•
Ejemplo: Clase: alumno Objetos: juan pérez, josé suárez, etc
EPIS UNSA - 2008
marcoaedo@hotmail.com
1. Conceptos 1.5 1.5
Quit
‹ Proximidad
de los conceptos de modelado respecto de las entidades del mundo real
Auto
EPIS UNSA - 2008
marcoaedo@hotmail.com
1. Conceptos 1.6 1.6
Quit
ย Integra
propiedades estรกticas y dinรกmicas del รกmbito del problema AUTO Marca Placa Color Num Puertas Velocidad Avanzar() Frenar() Encender()
EPIS UNSA - 2008
marcoaedo@hotmail.com
1. Conceptos 1.7 1.7
Quit
•
Atributo: propiedad de los objetos de la clase
•
Método: manipuladores de los atributos y de los objetos de la clase
•
Ejemplo: Clase: alumno
•
Atributos: nombre, apellido, promedio
•
Métodos: cambiarPromedio(nota), cambiarNombre(nomb) EPIS UNSA - 2008
marcoaedo@hotmail.com
1. Conceptos 1.8 1.8
Quit
¾Ya los hemos utilizado variables -> atributos métodos son los mismos, pero ahora pertenecen a una clase específica ¾En Java todo son clases
EPIS UNSA - 2008
marcoaedo@hotmail.com
1. Conceptos 1.9 1.9
Quit
他Ejemplos: { int numero; Scanner scanner = new Scanner(System.in); numero=scanner.nextInt(); } { int arreglo[]=new int[5]; System.out.println(arreglo.length); }
EPIS UNSA - 2008
marcoaedo@hotmail.com
2. Ejemplos 1.10 1.10
Quit
PROBLEMA: Crear un programa que cree 2 objetos de la clase alumno y que me muestre el formato: “apellido,nombre = promedio”
EPIS UNSA - 2008
marcoaedo@hotmail.com
Clase principal INICIO nomb, ap: cadena prom: entero 1.11 Quit 1.11 alumno1, alumno2: Alumno leer nomb,ap,prom crear alumno1(nomb,ap,prom) leer nomb,ap,prom crear alumno2(nomb,ap,prom) alumno1.mostrar() alumno2.mostrar() FIN
2. Ejemplos
Clase Alumno INICIO nombre, apellido: cadena promedio: entero Alumno(nomb,ap,prom) nombre=nomb apellido=ap promedio=prom FIN mostrar() imprimir apellido+”,”+nombre+”=“+promedio FIN FIN
EPIS UNSA - 2008
marcoaedo@hotmail.com
2. Ejemplos 1.12 1.12
Quit
•
Métodos constructores: se llaman igual que la clase y se invocan automáticamente cuando se crea un objeto
EPIS UNSA - 2008
marcoaedo@hotmail.com
2. Ejemplos 1.13 1.13
Quit
PROBLEMA: Mismo problema pero con 2 constructores sobrecargados, 1 an贸nimo
EPIS UNSA - 2008
marcoaedo@hotmail.com
Clase principal INICIO alumno1, alumno2: Alumno crear alumno1() 1.14 Quit 1.14 leer nomb,ap,prom crear alumno2(nomb,ap,prom) FIN
2. Ejemplos
Clase Alumno INICIO nombre, apellido: cadena promedio: entero Alumno() nombre=“anonimo” apellido=“anonimo” promedio=0 FIN Alumno(nomb,ap,prom) nombre=nomb apellido=ap promedio=prom FIN mostrar() imprimir apellido+”,”+nombre+”=“+promedio FIN FIN
EPIS UNSA - 2008
marcoaedo@hotmail.com
2. Ejemplos 1.15 1.15
Quit
•
Privado: sólo accede de métodos de la misma clase
•
Público: puede acceder de cualquier método de cualquier clase del programa
•
RECOMENDACIÓN: métodos públicos
•
Métodos set y get:
atributos
privados
y
•
set: establecer, método que escribe valor en atributo
•
get: conseguir, método que lee valor en atributo EPIS UNSA - 2008
marcoaedo@hotmail.com
2. Ejemplos 1.16 1.16
Quit
PROBLEMA: Mismo problema pero añadiendo métodos set y get
EPIS UNSA - 2008
marcoaedo@hotmail.com
Clase principal INICIO alumno1, alumno2: Alumno leer nomb,ap,prom 1.17 Quit 1.17 crear alumno2(nomb,ap,prom) escribir alumno2.apellido escribir alumno2.getApellido() leer prom alumno2.promedio=prom alumno2.setPromedio(prom) FIN
2. Ejemplos
Clase Alumno INICIO nombre, apellido: cadena promedio: entero //contructores setApellido(ap) apellido=ap FIN getApellido() retornar apellido FIN
FIN
setPromedio(pr) promedio=pr FIN ‌ EPIS UNSA - 2008
marcoaedo@hotmail.com
EJERCICIOS 1. Crear clase Hora, con los siguientes métodos: 1.18 Quit //0:0:0 1.18 Hora() Hora(h) //h:0:0 Hora(h,m) //h:m:0 Hora(h,m,s) //h:m:s setUnaHora(h,m,s) // que cambie la hora mostrarHora() // imprimir en formato h:m:s 2. Anterior aumentando métodos set y get para cada atributo 3. Anterior donde set y get verifiquen los rangos de valores 4. Anterior con método aumentarSegundo() 5. Anterior con método resetear(), todo lo pone a 0:0:0 6. Anterior con 2 métodos más para que me muestre en los formatos: 1:15:30 PM cantidad de segundo EPIS UNSA - 2008
marcoaedo@hotmail.com
EJERCICIOS
7. Crear 3 clases: principal, empleado y fecha 1.19 Quit 1.19 EMPLEADO: Atributos: nombre, apellido, direccion, fechaNacimiento, fechaIngresoEmpresa Métodos:
2 constructores sobrecargados Empleado() y Empleado (nom, ape, dir, nAnio, nMes, nDia, iAnio, iMes, iDia) mostrar(): retorna una cadena con el formato: “apellido, nombre vive en direccion, nacio el fechaNacimiento e ingresó a la empresa el fechaIngresoEmpresa
FECHA: Atributos: año, mes, dia Métodos:
4 constructores sobrecargados Fecha(), Fecha(a), Fecha(a,m), Fecha(a,m,d) set y get para cada atributo, verificando validez setFechaIngreso donde se pueda cambiar los valores de ingreso de la fecha bisiesto para ver si es o no bisiesto (boolean) 3 métodos para mostrar: 1996/8/14 14 de agosto de 1996 Cantidad de días que han transcurrido del año EPIS UNSA - 2008
marcoaedo@hotmail.com
Orientaci贸n a Objetos Gracias