Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacin 2
Ing. Marco Aedo Lpez
EPIS 2015
maedol@unsa.edu.pe
marcoaedo@hotmail.com
marcoaedo@hotmail.com
Objetivos
Contenidos
La clase Object
El mtodo equals
El mtodo toString
Polimorfismo y enlazamiento dinmico
Asignaciones entre objetos en una jerarqua de clases
Polimorfismo con arreglos
Mtodos y clases Abstract
Interfaces
Modificador de acceso protected
1. La clase Object
1. La clase Object
Object
equals()
toString()
Clase1
Clase2
ClaseN
2. El mtodo equals
2. El mtodo equals
true
true
false
false
2. El mtodo equals
2. El mtodo equals
2. El mtodo equals
Qu se imprimir?
String s1 = "hello", s2 = "hello";
if (s1 == s2)
System.out.println(mismo objeto);
if (s1.equals(s2))
System.out.println(mismo contenido");
3. El mtodo toString
Salida:
java.lang.Object@601bb1
Car@1ba34f2
3. El mtodo toString
3. El mtodo toString
3. El mtodo toString
System.out.println(car1);
3. El mtodo toString
3. El mtodo toString
EJERCICIO:
Completar la clase Counter que corresponda al
siguiente cdigo:
public class Counter
{
private int count;
...
}
public class CounterDriver
{
public static void main(String[] args)
{
Counter co = new Counter(100);
String message = Cuenta actual = " + co;
...
3. El mtodo toString
public class Counter
{
private int count;
public Counter(int c)
{
count = c;
}
public String toString()
{
return Integer.toString(count);
}
}
String s3=String.valueOf(22);
String s4=String.valueOf(123.45);
String s5=String.valueOf('S');
char[] vocales = {'a','e', 'i', 'o', 'u'};
String s6=String.valueOf(vocales);
System.out.println(s3+" "+s4+" "+s5+" "+s6);
5. Polimorfismo
5. Polimorfismo
5. Polimorfismo
5. Polimorfismo
import java.util.Scanner;
public class Pets
{
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
Object obj;
Se declara obj
como un Object
Genrico
Tener en cuenta:
Cuando un compilador ve la llamada a mtodo
<variableReferencia>.<mtodo>(), revisa si la
clase de la variable de referencia tiene la definicin
del mtodo llamado, si no la encuentra, no compila
2.
Normalmente, al asignar un objeto a una variable
de referencia, la clase de ambos es la misma,
pero en el ejemplo anterior vimos que un objeto
de la clase Perro es asignado en una variable
de referencia de tipo Object. Tal asignacin slo
funciona si la clase del lado derecho es una
subclase de la clase del lado izquierdo
1.
7. Operador instanceof
Estudiante
Error
Salaried
salary : double
Hourly
hourlyRate : double
hours : double = 0
AplicacionPayroll
main()
Salida:
Anna 4000.0
Donovan 3200.0
Simon 48000.0
Llamada a mtodo
polimrfico
Donovan 800.0
Simon 24000.0
Anna 1000.0
Donovan 800.0
Anna 1000.0
Donovan 800.0
Simon 24000.0
public Employee(String n)
{
name = n;
}
public void printPay(int date)
{
System.out.println(date + " "+ name+" "+ getPay());
}
}
11. Interfaces
Constantes de clase:
Declaraciones de mtodo:
Sintaxis:
interface <nombreInterface>
{
<tipo> <nombreConstante> = <valor>;
...
<tipoRetorno> <nombreMtodo>(<listaParametros>);
...
}
11. Interfaces
11. Interfaces
11. Interfaces
1) Almacenar constantes universales
11. Interfaces
2) Implementar polimorfismo
11. Interfaces
EJERCICIO
Employee
name : String
<<Interface>>
Commission
COMMISSION_RATE : double = 0.10
Employee(n : String)
getPay() : double
printPay(date : double) : void
11. Interfaces
Hourly
hourlyRate : double
hours : double = 0
Hourly(n : String, rate : double)
getPay() : double
addHours(h : double) : void
Salaried
salary : double
Salaried(name : String, s : double)
getPay() : double
Commissioned
sales : double = 0.0
Commissioned(name : String)
addSales(s : double) : void
getPay() : double
SalariedAndCommissioned
sales : double
SalariedAndCommissioned(name : String, salary : double)
addSales(s : double) : void
getPay() : double
11. Interfaces
TIPS:
Crear un arreglo de 100 Employees
Crear 5 empleados como elementos del arreglo: 2 por
horas, 1 con salario, 1 por comisin y 1 por salario y
comisin
Darle una cantidad de horas trabajadas a los
empleados por hora
Darle una cantidad de total de ventas a los empleados
por comisin
Imprimir el reporte de cuanto se les debe pagar
Salida:
Anna 4000.0
Simon 48000.0
Donovan 3200.0
Glen 1500.0
Carol 25500.0
11. Interfaces
3) Estandarizar la comunicacin interclases
Especificar las cabeceras de un conjunto de mtodos
que otras clases deben implementar
Sirve de contrato entre el diseador y los
programadores
Muy til en proyectos de software (especialmente los
grandes)
11. Interfaces
EJEMPLO
Sistema de Contabilidad
Usa activos de la empresa como: cash, cuentas por
cobrar, muebles, equipos, vehculos, edificios, etc.
A la vez podemos crear una subjerarqua con aquellos
activos a largo plazo y que se deprecian: muebles,
equipos, vehculos, edificios
El contador prepara anualmente los Estados Financieros
de la empresa: Balance, Estado de ganancias y prdidas
Para ello se requiere acceder a los datos de los objetos
que se deprecian: costo original, fecha de
adquisicin y tasa de depreciacin
11. Interfaces
11. Interfaces
Employee
Manager
Laborer
Manager
class's
subtree
Executive
MiddleManager
Secretary
Employee
class's
subtree
Ejemplo:
Salida:
Anna 4000.0
Simon 40800.0
Donovan 3200.0
Glen 1500.0
el salario original es: 24000.0 en ventas es: 15000.0
con descuento por impuestos: 3600.0
Carol 21900.0