La programación orientada a objetos (POO) es un paradigma de programación que utiliza “objetos” para modelar datos y métodos asociados. Java es un lenguaje de programación que soporta POO de manera robusta. A continuación, te presento una serie de ejercicios que te ayudarán a mejorar tus habilidades en POO utilizando Java.
Ejercicio 1: Clase Persona
Crea una clase Persona
con atributos nombre
, edad
y dni
. Incluye métodos para establecer y obtener los valores de estos atributos, así como un método que muestre la información de la persona.
class Persona {
private String nombre;
private int edad;
private String dni;
public Persona(String nombre, int edad, String dni) {
this.nombre = nombre;
this.edad = edad;
this.dni = dni;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public String getDni() {
return dni;
}
public void setDni(String dni) {
this.dni = dni;
}
public void mostrarInformacion() {
System.out.println("Nombre: " + nombre);
System.out.println("Edad: " + edad);
System.out.println("DNI: " + dni);
}
}
public class TestPersona {
public static void main(String[] args) {
Persona persona = new Persona("Juan Perez", 30, "12345678A");
persona.mostrarInformacion();
persona.setEdad(31);
System.out.println("Edad actualizada: " + persona.getEdad());
}
}
Ejercicio 2: Clase CuentaBancaria
Crea una clase CuentaBancaria
con atributos numeroCuenta
, saldo
y titular
. Incluye métodos para depositar y retirar dinero, así como un método que muestre el saldo actual.
class CuentaBancaria {
private String numeroCuenta;
private double saldo;
private String titular;
public CuentaBancaria(String numeroCuenta, String titular) {
this.numeroCuenta = numeroCuenta;
this.titular = titular;
this.saldo = 0.0;
}
public String getNumeroCuenta() {
return numeroCuenta;
}
public double getSaldo() {
return saldo;
}
public String getTitular() {
return titular;
}
public void depositar(double cantidad) {
if (cantidad > 0) {
saldo += cantidad;
}
}
public boolean retirar(double cantidad) {
if (cantidad > 0 && cantidad <= saldo) {
saldo -= cantidad;
return true;
}
return false;
}
public void mostrarSaldo() {
System.out.println("Saldo actual: " + saldo);
}
}
public class TestCuentaBancaria {
public static void main(String[] args) {
CuentaBancaria cuenta = new CuentaBancaria("1234567890", "Ana Gomez");
cuenta.depositar(500);
cuenta.mostrarSaldo();
cuenta.retirar(200);
cuenta.mostrarSaldo();
boolean exito = cuenta.retirar(400);
System.out.println("Retiro exitoso: " + exito);
cuenta.mostrarSaldo();
}
}
Ejercicio 3: Clase Círculo
y Herencia
Crea una clase Figura
con un método calcularArea
. Luego, crea una clase Círculo
que herede de Figura
y sobrescriba el método calcularArea
para calcular el área de un círculo.
abstract class Figura {
public abstract double calcularArea();
}
class Circulo extends Figura {
private double radio;
public Circulo(double radio) {
this.radio = radio;
}
public double getRadio() {
return radio;
}
public void setRadio(double radio) {
this.radio = radio;
}
@Override
public double calcularArea() {
return Math.PI * radio * radio;
}
}
public class TestFigura {
public static void main(String[] args) {
Circulo circulo = new Circulo(5);
System.out.println("Área del círculo: " + circulo.calcularArea());
}
}
Ejercicio 4: Clase Empleado
y Polimorfismo
Crea una clase Empleado
con atributos nombre
y salario
, y un método calcularSalario
. Luego, crea una clase EmpleadoPorHora
que herede de Empleado
y sobrescriba el método calcularSalario
para calcular el salario en función de las horas trabajadas y la tarifa por hora.
class Empleado {
protected String nombre;
protected double salario;
public Empleado(String nombre) {
this.nombre = nombre;
this.salario = 0.0;
}
public String getNombre() {
return nombre;
}
public double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
public double calcularSalario() {
return salario;
}
}
class EmpleadoPorHora extends Empleado {
private int horasTrabajadas;
private double tarifaPorHora;
public EmpleadoPorHora(String nombre, int horasTrabajadas, double tarifaPorHora) {
super(nombre);
this.horasTrabajadas = horasTrabajadas;
this.tarifaPorHora = tarifaPorHora;
}
@Override
public double calcularSalario() {
return horasTrabajadas * tarifaPorHora;
}
}
public class TestEmpleado {
public static void main(String[] args) {
Empleado empleadoFijo = new Empleado("Carlos Martinez");
empleadoFijo.setSalario(3000);
System.out.println("Salario del empleado fijo: " + empleadoFijo.calcularSalario());
EmpleadoPorHora empleadoPorHora = new EmpleadoPorHora("Laura Jimenez", 120, 15.5);
System.out.println("Salario del empleado por hora: " + empleadoPorHora.calcularSalario());
}
}
Ejercicio 5: Clase Rectángulo
con Interfaces
Crea una interfaz Dibujable
con un método dibujar
. Luego, crea una clase Rectangulo
que implemente esta interfaz y defina el método dibujar
.
interface Dibujable {
void dibujar();
}
class Rectangulo implements Dibujable {
private double largo;
private double ancho;
public Rectangulo(double largo, double ancho) {
this.largo = largo;
this.ancho = ancho;
}
public double getLargo() {
return largo;
}
public void setLargo(double largo) {
this.largo = largo;
}
public double getAncho() {
return ancho;
}
public void setAncho(double ancho) {
this.ancho = ancho;
}
@Override
public void dibujar() {
System.out.println("Dibujando un rectángulo de " + largo + " x " + ancho);
}
}
public class TestDibujable {
public static void main(String[] args) {
Rectangulo rectangulo = new Rectangulo(10, 5);
rectangulo.dibujar();
}
}
Conclusión
Estos ejercicios te proporcionarán una base sólida para trabajar con programación orientada a objetos en Java. Practicar estos conceptos es esencial para desarrollar tus habilidades de programación y te permitirá abordar problemas más complejos en el futuro. ¡Sigue practicando y explorando más sobre Java para convertirte en un programador más competente!
… … …
¡Coméntanos que te ha parecido este artículo al final de la página!
TÚ OPINIÓN IMPORTA
NUESTRAS ÚLTIMAS PUBLICACIONES
- Ejercicio de Programación en Java: Verificar si una Palabra es un Palíndromo
- Ejercicio de Programación en Java: Crear una Agenda de Contactos Sencilla
- Ejercicio de Programación en Java: Crear una Calculadora Básica con Operaciones Aritméticas
- Introducción a la Programación en Java: Ejercicio para Practicar Bucles y Condicionales
- Principios Fundamentales de la Programación Orientada a Objetos en Java
- Los peligros de la procrastinación en el mundo académico: “estudio mejor mañana”
- Introducción a los Hilos en Java: Creación y Ejecución de Procesos Paralelos
- Creación de una Aplicación CRUD en Android: Explicación Completa del Código
- Cómo Leer y Procesar un Archivo de Ventas en C: Guía Paso a Paso
Contenido restringido
Comments are closed