EJEMPLOS DE PROGRAMACION ORIENTADA A OBJETO EN JAVA (INF-121)
Ejemplo 1. Mediante programación Orientada a Objeto (POO), definir la clase Círculo e
identificar los atributos de clase, atributos de instancia, constructor con argumentos, métodos,
instanciar un objeto de la clase y calcular el área del círculo. Formula: areac=pi*r2.
Nombre de la
clase
Atributos: pi de clase y r
de objeto
Operaciones o
servicios
Diagrama de clases
Código en Java
/*
* @author Victor
*/
class Circulo {
private static double PI = 3.1416;
private double radio;
Circulo() {
radio = 0;
} //fin del constructor sin argumentos
Circulo(double r) {
this.radio = r;
} //fin del constructor con argumentos
public void setRadio(double r) {
this.radio = r;
}
public double getRadio() {
return radio;
}
public void leer() {
1
System.out.print("Radio: ");
setRadio(Leer.datoInt());
}
public double calculaArea() {
double areac;
areac = PI*getRadio()*getRadio();
return (areac);
} //fin del metodo calculaArea
} //fin de la clase Circulo
public class Ejemplo1 {
public static void main(String[] args) {
Circulo c1 = new Circulo();
c1.leer();
System.out.println("Area del circulo con radio:"+c1.getRadio()+"es:"+ c1.calculaArea());
Circulo c2 = new Circulo(5);
System.out.println("Area del circulo es: " + c2.calculaArea());
Circulo c3 = new Circulo();
c3.setRadio(6);
System.out.println("Area del circulo es: " + c3.calculaArea());
} //fin del metodo main
}//fin de la clase Ejemplo1
2
Ejemplo 2. Implementar un POO para imprimir los números perfecto en el intervalo de 1 hasta
n.
class Perfecto {
private int num;
public Perfecto() {
num = 0;
}
Perfecto(int n) {
num = n;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public boolean verificar() {
int suma = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
suma += i;
}
}
return suma == num;
}
} // Perfecto class
import java.util.Scanner;
3
public class Ejemplo2
{
public static void main (String[] args)
{
Perfecto p1;
System.out.println ("Valor para n: ");
int n=(new Scanner(System.in).nextInt());
for (int i = 1 ; i <= n ; i++)
{
p1 = new Perfecto (i);
if (p1.verificar ())
System.out.println (i);
}
} // Fin del método main
} // Fin de la clase Ejemplo2
Ejemplo 3. Crear la clase Vector que permita realizar las siguientes tareas: constructor con
argumentos, métodos para llenar, mostrar y ordenar el vector.
Diagrama de clases
Codigo Java
class Vector {
private int[] v = new int[100];
private int n;
Vector(int tam) {
n = tam;
} //fin del constructor con argumentos
public void llenar() {
int i;
for (i = 1; i <= n; i++) {
4
System.out.print("Dato: " + "en la posicion: " + i + ": ");
v[i] = Leer.datoInt();
}
} //fin del metodo llenar
public void mostrar() {
int i;
for (i = 1; i <= n; i++) {
System.out.print(v[i] + " ");
}
System.out.println();
} //fin del metodo mostrar
public void ordenar() {
int i, j, aux;
for (i = 1; i < n; i++) {
for (j = i + 1; j <= n; j++) {
if (v[i] > v[j]) {
aux = v[i];
v[i] = v[j];
v[j] = aux;
}
}
}
} //fin del metodo ordenar
} //fin de la clase Vector
public class Ejemplo3 {
public static void main(String[] args) {
Vector v1 = new Vector(8);
v1.llenar();
v1.mostrar();
v1.ordenar();
v1.mostrar();
}
}//fin de la clase Ejemplo3
5
Ejemplo 4. El usuario le solicita desarrollar un Programa Orientado a Objeto (POO) para
calcular el 13% correspondiente al RC-IVA sobre el monto depositado en Bs. introducido por
teclado.
class Impuesto {
private static double IVA = 0.13;
private double monto;
private double impuestoCalculado;
Impuesto() {
monto = 0;
impuestoCalculado = 0;
}//fin del constructor sin argumentos
public double getIVA() {
return IVA;
}
public double getMonto() {
return monto;
}
public void setMonto(double monto) {
this.monto = monto;
}
public double getImpuestoCalculado() {
return impuestoCalculado;
}
public void setImpuestoCalculado(double impuestoCalculado) {
this.impuestoCalculado = impuestoCalculado;
}
public void entrada() {
System.out.print("Monto depositado: ");
setMonto(Leer.datoDouble());
}//fin del metodo entrada
public void calcular() {
impuestoCalculado = getMonto() * getIVA();
} //fin del metodo calcular
public void salida() {
System.out.println("Monto depositado: " + getMonto() + " RC-IVA:
" + getIVA() + " Impuesto calculado: " + getImpuestoCalculado()
+ " Bs");
}//fin del método salida
} // Fin de la clase Impuesto
6
public class Ejemplo4 {
public static void main(String[] args) {
Impuesto i1 = new Impuesto();
i1.entrada();
i1.calcular();
i1.salida();
Impuesto i2 = new Impuesto();
i2.setMonto(2000);
i2.calcular();
System.out.println("Monto en Bs. " + i2.getMonto() + " impuesto: " +
i2.getImpuestoCalculado() + " Bs.");
System.out.println("FIN DEL PROGRAMA");
} // Fin del método main
}//fin de la clase Ejemplo4