Está en la página 1de 24

JAVA

Java
HERENCIA
 Ejemplos

1
JAVA

2
JAVA

HERENCIA
Objetivos: Conoce, Analiza, Crea y resuelve programas utilizando
herencia.

Ejemplo 01: Programa que crea la clase Persona y hereda a


profesor

Superclase
PERSONA

PROFESOR Subclase

- Crear un paquete con el nombre: personaprofesor (este


contiene el PROGRMA PRINCIPAL)

- Dentro del paquete creado, crear la clase: persona e ingrese el


siguiente código:

package personaprofesor;

public class Persona { //Clase padre

private String nombre;


Variables de ambito private porque sólo
private String apellidos; pueden ser accedidas desde dentro de la
misma clase
private int edad;

Constructor(Es el que se
ejecuta primero en todo el
//Constructor programa), le pasamos los
atributos nombre, apellidos y
public Persona(String nombre, String apellidos, int edad) { edad con su respectivo
parámetro
this.nombre = nombre;
Le decimo al programa que las variables que
this.apellidos = apellidos; creamos en la clase Persona son iguales(asignar) a
las de su Constructor con la palabra reservada THIS

3
JAVA

this.edad = edad;

//Métodos
Creamos el método getNombre para que nos devuelva
el valor de la variable nombre(se crea este método
public String getNombre() { porque la variable esta con modificador de acceso
Private)
return nombre;

public String getApellidos() { Creamos el metodo getApellidos para que nos


devuleva el valor de la variable apellidos (se crea este
return apellidos; método porque la variable esta con modificador de
acceso Private)
}

public int getEdad() { Creamos el método getEdad para que nos devuelva el
valor de la variable edad (se crea este método porque la
return edad; variable esta con modificador de acceso Private)

} //Cierre de la clase

- Dentro del paquete creado, crear la clase: profesor e ingrese


el siguiente código:

package personaprofesor;

public class Profesor extends Persona { La clase profesor Hereda los métodos y atributos de la
Clase Persona (ClasePadre) con la ayuda de la palabra
//Campos específicos de la subclase. extends

private String IdProfesor; Variable con modificador de acceso Private

//Constructor
Constructor de la subclase:
de la subclase: incluimos
incluimos como parámetros
como parámetros al los
al menos menos los del constructor
del constructor de la superclase
de la superclase

public Profesor(String nombre, String apellidos, int edad) {

super(nombre, apellidos, edad);


Con la pabara super accedemos a los atributos y
metodos de las clases Padre
IdProfesor = " ";
4
JAVA

} //Cierre del constructor

//Métodos específicos de la subclase

Se crea un metodo set para poder


modificar las variables de ambito private
public void setIdProfesor(String IdProfesor) { como IdProfesor

this.IdProfesor = IdProfesor;
Con la palabra reservada THIS para referirnos a elementos
del mismo objeto
}

public String getIdProfesor() { Se crea el metodo get para poder que nos devuelva las
variables de ambito private como es el caso de IdProfesor
return IdProfesor;

}
Creamos el metodo
mostrarNombreApellidosYCarnet para
que nos devuelva las variables de ámbito
public void mostrarNombreApellidosYCarnet() { private

// nombre = "Paco"; Si tratáramos de acceder directamente a un campo privado de la


superclase, salta un error

// Sí podemos acceder a variables de instancia a través de los métodos de acceso


públicos de la superclase

System.out.println("Profesor de nombre: " + getNombre() + " " + getApellidos()


//Accedemos a las variables privadas con los metodos get que hemos creado anteriormente

+ " con Id de profesor: " + getIdProfesor() + " con edad: " + getEdad());

} //Cierre de la clase

Código del Programa Principal


package personaprofesor;

public class PersonaProfesor {

//Se crea del metodo main que es el que


public static void main(String[] args) { ejecutara el programa

Profesor profesor1 = new Profesor("Juan", "Hernández García", 33);


//Creamos un objeto para comunicarnos con la ClaseHija (Profesor)

profesor1.setIdProfesor("Prof 22-387-11");
// Con la ayuda del método set podemos asignarle un valor a la variable 5
private IdProfesor
JAVA

profesor1.mostrarNombreApellidosYCarnet(); //Con la ayuda del


objeto(profesor1) que creamos
llamamos al método
} mostrarNombreApellidosYCarnet

Ejemplo 02: Programa que crea la clase Persona y hereda a estudiante

Superclase
PERSONA

ESTUDIANTE Subclase

- Crear un paquete con el nombre: personaestudiante (este


contiene el PROGRAMA PRINCIPAL)

- Dentro del paquete creado, crear la clase: personas e ingrese


el siguiente código:

public class Personas {


private String nombre; Variables de ambito private porque sólo
private String apellido; pueden ser accedidas desde dentro de la
misma clase
private int edad;
Constructor(Es el que se ejecuta primero en
public Persona(String nombre, String apellido, int edad) { todo el programa), le pasamos los atributos
this.nombre = nombre; nombre, apellidos y edad con su respectivo
this.apellido = apellido; Le decimo al programa que las parámetro
variables que creamos en la clase
this.edad = edad; Persona son iguales a las de su
} Constructor con la palabra
reservada THIS
public String getNombre() {
return nombre;
}

public String getApellido() { Creamos el método getNombre, getApellido y


return apellido; getEdad para que nos devuelva el valor de la
} variable nombre, apellido y edad (se crea este
método porque la variable esta con modificador
de acceso Private) 6
JAVA

public int getEdad() {


return edad;
}

- Dentro del paquete creado, crearhereda


La clase Estudiante lalosclase: estudiante
métodos y atributos de la Clase e
ingrese el siguiente código:
Persona (ClasePadre) con la ayuda de la palabra extends

public class Estudiante extends Persona{


private int codigoEstudiante;
private float notaFinal;

//constructor
public Estudiante(String nombre,String apellido,int edad,int codigoEstudiante,float notaFinal){
//Indica los atributos heredados Con la pabara super accedemos a los atributos y
super(nombre,apellido,edad); metodos de las clases Padre
//Inicializa lo s atributos de esta clase
this.codigoEstudiante=codigoEstudiante; Le decimo al programa que las variables que creamos en la
this.notaFinal=notaFinal; clase son iguales a las de su Constructor con la palabra
} reservada THIS
public void mostrarDatos(){
System.out.println("Nombre: "+getNombre()); Creamos el metodo
System.out.println("Apellido: "+getApellido()); mostrarDatos para que nos
System.out.println("Edad: "+getEdad()); devuelva las variables de
System.out.println("Codigo de estudiante: "+codigoEstudiante); ámbito private
System.out.println("Nota final: "+notaFinal);
}
}

Código del Programa Principal


//Se crea del metodo main que es el que ejecutara el
programa
public class Principal {

public static void main(String[] args)


//Creamos un objeto para {
comunicarnos con la ClaseHija (Estudiante)

Estudiante estudiante= new


Estudiante("Milagros","Alfaro",21,123,15.6f);
//Con la ayuda del objeto(estudiante) que
creamos llamamos al método mostrarDatos
estudiante.mostrarDatos();

Ejemplo 03: Programa que crea la clase figuras y hereda a circulo, triangulo,cuadrado y
rectángulo.

7
JAVA

- Crear un paquete con el nombre: areaperimetro (este


contiene el PROGRAMA PRINCIPAL).
- Dentro del paquete creado, crear la clase: figuras e ingrese el
siguiente código:
public class figuras {

protected String nombre;


Variables de ambito protected
porque sólo pueden ser accedidas
protected double aarea;
desde dentro de la mismo paquete

protected double pperimetro;

public figuras(String n){Construrtor que le va a dar nombre a


Metodo
la figura
nombre=n;

public String getNombre() {


Creamos el método getNombre,
return nombre; getArea y getPerimetro para que nos
devuelva el valor de la variable
} nombre, área y perímetro (se crea este
método porque la variable esta con
modificador de acceso Private)
public double getAarea() {

return aarea;

public double getPperimetro() {

return pperimetro;

public void dibujar(){

System.out.println("Nombre: "+this.getNombre());
Creamos el método dibujar solo para
mostrar los atributos getNombre,
getPerimetro y getArea
System.out.println("Perimetro: "+this.getPperimetro());

System.out.println("Area: "+this.getAarea());

8
JAVA

- Dentro del paquete creado, crear la clase: circulo e ingrese el


siguiente código:
public class circulo extends figuras{
La clase circulo hereda los métodos y atributos de la Clase
figuras (ClasePadre) con la ayuda de la palabra extends
private double radio;
//Constructor de la subclase: incluimos como parámetros al
public circulo(double r) del
menos los { constructor de la superclase

super("Circulo");
Con la pabara super accedemos a los atributos y metodos
radio = r; de las clase Padre y le asignamos valor al atributo propio

public void setarea() {

this.aarea= (Math.pow(radio,2)*Math.PI);

public void setperimetro() {


Creamos los metodos setArea y
this.pperimetro = (2*radio*Math.PI);
setPerimetro para darle valor a
perímetro y area.
}

@Override
Vamos a sobrescribir el método
public void dibujar(){
dibujar dela clasePadre(figuras).
Y llamamos al metodo dibujar de la
super.dibujar();
clasebase mediante la palabra super
para acceder a los metodos y
atributos.
}

- Dentro del paquete creado, crear la clase: triangulo e ingrese


el siguiente código:
La clase triangulo hereda los métodos y atributos de la
public class triangulo extends figuras{
Clase figuras (ClasePadre) con la ayuda de la palabra
extends
private double t_base;
Variables de ambito private
private double t_alturah;
porque sólo pueden ser
accedidas desde dentro de la
private double t_lado2;
misma clase

private double t_lado3;

9
JAVA

public triangulo(double a, double b, double


//Constructor de lac, double d){
subclase:
incluimos atributos para asignarle
super("Triangulo"); valores

t_base = a;

t_alturah =b;Con la pabara super accedemos a los


atributos y metodos de la clasePadre y le
asignamos valor a los atributos propios
t_lado2 =c;

t_lado3 =d;

public void setarea() {


Creamos los metodos setArea
this.aarea= (t_base*t_alturah)/2;
y setPerimetro para darle
valor a perímetro y area.
}

public void setperimetro() {

this.pperimetro = (t_base+t_lado2+t_lado3);

}
Vamos a sobrescribir el método dibujar de la
@Override clasePadre(figuras).
Y llamamos al metodo dibujar de la clasebase
public void dibujar(){ mediante la palabra super para acceder a los
metodos y atributos.
super.dibujar();

System.out.println("La suma de sus angulos internos es:


"+ (180*1)+" grados");

- Dentro del paquete creado, crear la clase: cuadrado e ingrese


el siguiente código:

import java.util.Scanner;
La clase cuadrado hereda los métodos y atributos de
public class cuadrado extends
la Clasefiguras{
figuras (ClasePadre) con la ayuda de la
palabra

10
JAVA

private double cuadrado_lado;


Variable de ambito private porque sólo puede
ser accedida desde dentro de la misma clase
private Scanner tec= new Scanner(System.in);

public cuadrado(double la){ de la subclase: incluimos


//Constructor
atributos para asignarle valores
super ("Cuadrado");
Con la pabara super accedemos a los atributos
cuadrado_lado=la;}
y metodos de la clasePadre y le asignamos
valor a los atributos propios

public void setarea(){

this.aarea=cuadrado_lado*cuadrado_lado;

public void setperimetro(){

this.pperimetro=cuadrado_lado*4;
Creamos los metodos setArea y
setPerimetro para darle valor a
perímetro y area.
}

@Override

public void dibujar(){


Vamos a sobrescribir el método dibujar de la
super.dibujar(); clasePadre(figuras).
Y llamamos al metodo dibujar de la
clasebase mediante la palabra super para
System.out.println("Dibujo");
acceder a los metodos y atributos.
Y hacemos una parte lógica para poder
for(int i=0; i<cuadrado_lado ; i++){
graficar su dibujo respectivo.

for(int j=0;j<cuadrado_lado;j++)

System.out.print(" * ");

System.out.println();

System.out.println("La suma de sus angulos internos es:


"+ (180*2)+" grados");

}
11
JAVA

- Dentro del paquete creado, crear la clase: rectangulo e


ingrese el siguiente código:
La clase cuadrado hereda los métodos y atributos de
public class rectangulo extends figuras{
la Clase figuras (ClasePadre) con la ayuda de la
palabra extends.
private double base; Variable de ambito private porque sólo
puede ser accedida desde dentro de la
private double alturah;
misma clase

public rectangulo(double a, double b) {


//Constructor de la subclase: incluimos atributos para
asignarle valores
super("Rectangulo");

base = b; Con la pabara super accedemos


a los atributos y metodos de la
alturah = a;clasePadre y le asignamos valor
a los atributos propios

public void setarea() {


Creamos los metodos setArea y
this.aarea= base*alturah;
setPerimetro para darle valor a
perímetro y area.
}

public void setperimetro() {

this.pperimetro = (base+alturah)*2;

@Override

public void dibujar(){


Vamos a sobrescribir el método
super.dibujar(); dibujar de la clasePadre(figuras).
Y llamamos al metodo dibujar
de la clasebase mediante la
System.out.println("Dibujo");
palabra super para acceder a los
metodos y atributos.
for(int i=0; i<this.base ; i++){
Y hacemos una parte lógica para
poder graficar su dibujo
for(int j=0;j<this.alturah;j++)
respectivo.

System.out.print(" * ");

System.out.println();

12
JAVA

System.out.println("La suma de sus angulos internos es:


"+ (180*2)+" grados");

- Dentro del paquete creado, crear la clase: menu e ingrese el


siguiente código:

import java.util.Scanner;

public class menu {

public void Menu(){

Scanner sc = new Scanner(System.in);


Creamos una variable char para asignar un valor
char opc;

int rpta, repe; Creamos variables locales en las que


se guarda los valores que se pide por
teclado
double wlado;

double altw, basew;

double radw;

double tbas, talt, tl2, tl3;

System.out.println("\tBienvenidos al software para hallar


el Area y Perimetro");

do {

System.out.println("A. Cuadrado");
Parte lógica donde
donde escribir la parte
System.out.println("B. Rectangulo");
estética del programa y
poder seleccionar una
System.out.println("C. Circulo");
opción mediante la
variable local opc
System.out.println("D. Triangulo");

System.out.println(" ");

System.out.println("Elija una figura Geometrica: ");


13
JAVA

opc = sc.next().charAt(0);

while (opc != 'A' && opc != 'B' && opc != 'C' && opc !=
'D' && opc != 'E'

&& opc != 'a' && opc != 'b' && opc != 'c' && opc !=
'd' && opc != 'e') {

System.out.print("Opcion no encontrada,Reingrese:
");

opc = sc.next().charAt(0);
Errores para que el usuario al ingresar algún
dato fuera del programa le selección como
} error y le pida denuevo seleccionar e ingresar
valores
if (opc == 'A' || opc == 'a') {

System.out.println("Ud. a elejido Cuadrado");

System.out.println(" ");
Al elegir la opción
System.out.println("Ingrese lado delleCUADRADO:
A.cuadrado pida los ");
datos

wlado = sc.nextDouble();

if (wlado <= 0) {

System.out.println("Ingrese Datos Validos


(mayores a 0)");

} else {

cuadrado objcuad = new cuadrado(wlado);

objcuad.setarea();
Creamos objeto a partir de la clase cuadrado y
le enviamos al constructor. Y mediante el
objcuad.setperimetro();
objeto llamamos a los metodos setArea,
setPerimetro y dibujar.
objcuad.dibujar();

} else if (opc == 'B' || opc == 'b') {

System.out.println("Ud. a elejido Rectangulo");

Al elegir la opción 14
B.rectangulo le pida los
datos
JAVA

System.out.println(" ");

System.out.print("Ingrese base del rectangulo: ");

basew = sc.nextDouble();

System.out.print("Ingrese altura del rectangulo: ");

altw = sc.nextDouble();

if (basew <= 0 || altw <= 0) {

System.out.println("Ingrese Datos Validos


(mayores a 0)");

} else {

rectangulo objrec = new rectangulo(basew, altw);

objrec.setarea();
Creamos objeto a partir de la clase rectangulo
y le enviamos al constructor. Y mediante el
objrec.setperimetro();
objeto llamamos a los metodos setArea,
setPerimetro y dibujar.
objrec.dibujar();

} else if (opc == 'C' || opc == 'c') {

System.out.println("Ud. a elejido Circulo");

System.out.println(" "); Al elegir la opción


C.circulo le pida los
System.out.print("Ingrese el datos
radio del Circulo: ");

radw = sc.nextDouble();

if (radw <= 0) {

System.out.println("Ingrese Datos Validos


(mayores a 0)");

} else {

circulo objcir = new circulo(radw);

15
JAVA

objcir.setarea();
Creamos objeto a partir de la clase
circulo y le enviamos al constructor. Y
objcir.setperimetro();
mediante el objeto llamamos a los
metodos setArea, setPerimetro y
dibujar.
objcir.dibujar();

} else if (opc == 'D' || opc == 'd') {

System.out.println("Ud. a elejido Triangulo");


Al elegir la opción
D.triangulo le pida los
System.out.println(" "); datos

System.out.print("Ingrese base del Triangulo: ");

tbas = sc.nextDouble();

System.out.print("Ingrese altura del Triangulo: ");

talt = sc.nextDouble();

System.out.print("Ingrese el segundo lado del


Triangulo: ");

tl2 = sc.nextDouble();

System.out.print("Ingrese el tecer lado del


Triangulo: ");

tl3 = sc.nextDouble();

if (tbas <= 0||talt<=0||tl3<=0) {

System.out.println("Ingrese Datos Validos


(mayores a 0)");

} else {

triangulo objtri = new triangulo(tbas, talt, tl2,


tl3);

objtri.setarea();
Creamos objeto a partir de la clase
triangulo y le enviamos al
objtri.setperimetro();
constructor. Y mediante el objeto
llamamos a los metodos setArea,
objtri.dibujar(); setPerimetro y

16
JAVA

System.out.print("Desea Realizar otra operacion?


(SI=1,NO=2)");

repe = sc.nextInt();
Parte lógica donde se
indica si deseas
continuar el programa o
ya finalizar.
while (repe < 1 | repe > 2) {

System.out.print("Valor incorrecto ,Reingrese ( 1 o 2


): ");

repe = sc.nextInt();

} while (repe != 2);

System.out.println("GRACIAS POR USAR");

Código del Programa Principal

public class Areaperimetro {


//Se crea del metodo main que es el que
ejecutara el programa
public static void main(String[] args) {

menu men=new menu();


//Creamos un objeto para comunicarnos con la
ClaseHija (menu)
men.Menu();
//Con la ayuda del objeto(men) que creamos
} llamamos al método Menu
}

Ejemplo 04: Programa que crea la clase Empleado por comisión y hereda a Empleado Base
mas comisión

- Crear un paquete con el nombre: pruebaempleadoporcomision


(este contiene el PROGRAMA PRINCIPAL).

17
JAVA

- Dentro del paquete creado, crear la clase: empleadoporcomision


e ingrese el siguiente código: La clase EmpleadoPorComision hereda los
métodos y atributos de la Clase Object
(ClasePadre) con la ayuda de la palabra
public class EmpleadoPorComision
extends. extends Object

{
Variables de ambito protected
protected String primerNombre;
porque sólo pueden ser
accedidas desde dentro de la
protected String apellidoPaterno;
mismo paquete

protected String numeroSeguroSocial;

protected double ventasBrutas; // ventas semanales totales


(variables de instancia)

protected double tarifaComision; // porcentaje de comisión


(variables de instancia) //Constructor de la subclase: incluimos atributos
para asignarle valores
// constructor con cinco argumentos

public EmpleadoPorComision( String nombre, String apellido,


String nss, double ventas, double tarifa )

// la llamada implícita al constructor del objeto ocurre aquí

primerNombre = nombre;
Asignamos valor a los atributos
propios
apellidoPaterno = apellido;

numeroSeguroSocial = nss;

establecerVentasBrutas( ventas ); // valida y almacena las


ventas brutas

establecerTarifaComision( tarifa ); // valida y almacena la


tarifa de comisión

public void establecerPrimerNombre( String nombre )

primerNombre = nombre; Creamos métodos


establecerPrimerNombre y
} // fin del método establecerPrimerNombre
obtenerPrimerNombre para
que nos devuelva el valor de
la variable nombre. 18
JAVA

// devuelve el primer nombre

public String obtenerPrimerNombre()

return primerNombre;

} // fin del método obtenerPrimerNombre

// establece el apellido paterno

public void establecerApellidoPaterno( String apellido )

apellidoPaterno = apellido;

} // fin del método establecerApellidoPaterno


Creamos métodos
establecerPrimerApellido y
obtenerPrimerApellido para
// devuelve el apellido paterno que nos devuelva el valor de
la variable apellido.
public String obtenerApellidoPaterno()

return apellidoPaterno;

} // fin del método obtenerApellidoPaterno

// establece el número de seguro social

public void establecerNumeroSeguroSocial( String nss )

numeroSeguroSocial = nss; // debe validar


Creamos métodos
} // fin del método establecerNumeroSeguroSocial
establecerNumeroSeguroSocial y
obtenerNumeroSeguroSocial para que
nos devuelva el valor de la variable
// devuelve el número de seguronss.social

public String obtenerNumeroSeguroSocial()

return numeroSeguroSocial;

} // fin del método obtenerNumeroSeguroSocial

19
JAVA

// establece el monto de ventas totales del empleado por


comisión

public void establecerVentasBrutas( double ventas )

{
Creamos metodos
ventasBrutas = ( ventas < 0.0 ) ? 0.0 : ventas;
establecerVentasBrutas y
obtenerVentasBrutas para que
} // fin del método establecerVentasBrutas
nos devuelva el valor de la
variable VentasBrutas.
// devuelve el monto de ventas totales del empleado por
comisión

public double obtenerVentasBrutas()

return ventasBrutas;

} // fin del método obtenerVentasBrutas

// establece la tarifa del empleado por comisión

public void establecerTarifaComision( double tarifa )

{
Creamos métodos
establecerTarifaComision y
tarifaComision = ( tarifa > 0.0 && tarifaobtenerTarifaComision
< 1.0 ) ? tarifa para: 0.0;
que nos devuelva el valor de la
} // fin del método establecerTarifaComision
variable TarifaComision.

// devuelve la tarifa del empleado por comisión

public double obtenerTarifaComision()

return tarifaComision;

} // fin del método obtenerTarifaComision

// calcula el salario del empleado por comisión

public double ingresos()

{ Creamos el métodos ingresos y


para que nos devuelva el valor
return tarifaComision * ventasBrutas;
de la variable ingresos que es
tarifaComision por
ventasBrutas.
20
JAVA

} // fin del método ingresos

// devuelve representación String del objeto


EmpleadoPorComision

@Override
Creamos el metodo string para que
public String toString()
nos devuelva la representación.

return String.format( "%s: %s %s\n%s: %s\n%s: %.2f\n%s:


%.2f", "empleado por comision", primerNombre,
apellidoPaterno, "numero de seguro social",
numeroSeguroSocial, "ventas brutas", ventasBrutas,"tarifa de
comision", tarifaComision);

} // fin del método toString

} // fin de la clase EmpleadoPorComision

- Dentro del paquete creado, crear la clase:


empleadobasemascomision e ingrese el siguiente código:

public class EmpleadoBaseMasComision extends


EmpleadoPorComision

private double salarioBase; // salario base por semana

// constructor con seis argumentos

public EmpleadoBaseMasComision( String nombre, String


apellido, String nss, double ventas, double tarifa, double
salario )

// llamada explícita al constructor de la superclase


EmpleadoPorComision

super( nombre, apellido, nss, ventas, tarifa );

establecerSalarioBase( salario ); // valida y almacena el


salario base

21
JAVA

} // fin del constructor de EmpleadoBaseMasComision con seis


argumentos

// establecer salario base

public void establecerSalarioBase( double salario )

salarioBase = ( salario < 0.0 ) ? 0.0 : salario;

} // fin del método establecerSalarioBase

// devuelve el salario base

public double obtenerSalarioBase()

return salarioBase;

} // fin del método obtenerSalarioBase

// calcula los ingresos

public double ingresos()

// no está permitido: tarifaComision y ventasBrutas son


private en la superclase

return salarioBase + ( tarifaComision * ventasBrutas );

} // fin del método ingresos

// devuelve representación String de


EmpleadoBaseMasComision

public String toString()

// no está permitido: intentos por acceder a los miembros


private de la superclase

return String.format("%s: %s %s\n%s: %s\n%s: %.2f\n%s:


%.2f\n%s: %.2f", "empleado por comision con sueldo base",
primerNombre, apellidoPaterno, "numero de seguro social",
22
JAVA

numeroSeguroSocial, "ventas brutas", ventasBrutas, "tarifa de


comision", tarifaComision, "salario base", salarioBase );

} // fin del método toString

} // fin de la clase EmpleadoBaseMasComision

Código del Programa Principal

package pruebaempleadoporcomision;

public class PruebaEmpleadoPorComision

public static void main( String args[] )

// crea instancia de objeto EmpleadoPorComision

EmpleadoPorComision empleado = new


EmpleadoPorComision("Sue", "Jones", "222-22-2222",10000, .
06 );

// obtiene datos del empleado por comisión

System.out.println("Informacion del empleado obtenida por


los metodos establecer: \n" );

System.out.printf( "%s %s\n", "El primer nombre es",


empleado.obtenerPrimerNombre() );

System.out.printf( "%s %s\n", "El apellido paterno es",


empleado.obtenerApellidoPaterno() );

System.out.printf( "%s %s\n", "El numero de seguro social


es", empleado.obtenerNumeroSeguroSocial() );

System.out.printf( "%s %.2f\n", "Las ventas brutas son",


empleado.obtenerVentasBrutas() );

System.out.printf( "%s %.2f\n", "La tarifa de comision es",


empleado.obtenerTarifaComision() );
23
JAVA

empleado.establecerVentasBrutas( 500 ); // establece las


ventas brutas

empleado.establecerTarifaComision( .1 ); // establece la tarifa


de comisión

System.out.printf( "\n%s:\n\n%s\n", "Informacion actualizada


del empleado, obtenida mediante toString", empleado );

} // fin de main

} // fin de la clase PruebaEmpleadoPorComision

24