0% encontró este documento útil (0 votos)
5 vistas12 páginas

Administración de Empleados y Animales en Java

El documento describe tres ejercicios de programación en Java: la administración de empleados con herencia entre clases, el control de animales en un refugio utilizando interfaces, y la gestión de productos en una tienda aplicando descuentos. Cada ejercicio incluye la definición de clases abstractas, herencia, y métodos específicos para calcular salarios, hacer sonidos, y mostrar información de productos. Se presentan ejemplos de implementación en código para cada ejercicio, mostrando el uso de ArrayLists y la aplicación de lógica de negocio.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas12 páginas

Administración de Empleados y Animales en Java

El documento describe tres ejercicios de programación en Java: la administración de empleados con herencia entre clases, el control de animales en un refugio utilizando interfaces, y la gestión de productos en una tienda aplicando descuentos. Cada ejercicio incluye la definición de clases abstractas, herencia, y métodos específicos para calcular salarios, hacer sonidos, y mostrar información de productos. Se presentan ejemplos de implementación en código para cada ejercicio, mostrando el uso de ArrayLists y la aplicación de lógica de negocio.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

JAVA 1

Ejercicio 3: Administración de Empleados

Un programa que permite administrar empleados de una empresa, diferenciando entre


empleados de tiempo completo y parcial. Se almacenarán en la clase Empresa, y se
calcularán los salarios de cada uno. Se aplica herencia, ya que
EmpleadoTiempoCompleto y EmpleadoTiempoParcial extienden Empleado.

Clase Empleado (abstracta)

 Atributos:
o String nombre
o double sueldoBase
 Métodos:
o abstract double calcularSalario() → Devuelve el sueldo
calculado.

Clases EmpleadoTiempoCompleto y EmpleadoTiempoParcial (heredan Empleado)

 Método calcularSalario():
o EmpleadoTiempoCompleto → Devuelve sueldoBase.
o EmpleadoTiempoParcial → Usa int horasTrabajadas y retorna
sueldoBase * horasTrabajadas.

Clase Empresa

 Atributos:
o ArrayList<Empleado> empleados
 Métodos:
o void agregarEmpleado(Empleado e) → Añade a la lista.
o double calcularTotalSalarios() → Suma los salarios y devuelve el
resultado.

Ejercicio 4: Control de Animales

Un refugio donde se gestionan diferentes tipos de animales (Perro y Gato). Se guardarán


en una clase RefugioAnimales con un ArrayList de Animal. Además, Perro y Gato
implementarán la interfaz Mascota, permitiendo definir comportamientos adicionales.

Clase Animal (abstracta)

 Atributos:
o String nombre
o int edad
 Métodos:
o abstract void hacerSonido()
Clases Perro y Gato (heredan Animal, implementan Mascota)

 hacerSonido() → Devuelve un sonido específico.


 void jugar() → Imprime una actividad.

Interfaz Mascota

 Método:
o void jugar()

Clase RefugioAnimales

 Atributos:
o ArrayList<Animal> animales
 Métodos:
o void agregarAnimal(Animal a) → Añade a la lista.
o void listarSonidos() → Muestra sonidos de los animales.

Ejercicio 5: Tienda de Productos

Un sistema de tienda que permite manejar diferentes productos (Electrodoméstico y


Alimento). La clase Tienda almacenará los productos en un ArrayList, y se aplicarán
descuentos mediante una interfaz Descuento.

Clase Producto (abstracta)

 Atributos:
o String nombre
o double precio
 Métodos:
o abstract void mostrarInfo()

Clases Electrodomestico y Alimento (heredan Producto)

 mostrarInfo() → Imprime detalles del producto.

Interfaz Descuento

 Método:
o void aplicarDescuento(double porcentaje)

Clase Tienda

 Atributos:
o ArrayList<Producto> productos
 Métodos:
o void agregarProducto(Producto p) → Añade un producto a la lista.
o void aplicarDescuentoGlobal(double porcentaje) → Aplica
descuentos a todos los productos.
Solución:

Ejercicio 3: Administración de Empleados


import [Link];

// Clase abstracta Empleado


abstract class Empleado {
String nombre;
double sueldoBase;

// Constructor
public Empleado(String nombre, double sueldoBase) {
[Link] = nombre;
[Link] = sueldoBase;
}

abstract double calcularSalario();


}

// Clases EmpleadoTiempoCompleto y EmpleadoTiempoParcial


class EmpleadoTiempoCompleto extends Empleado {
// Constructor
public EmpleadoTiempoCompleto(String nombre, double sueldoBase) {
super(nombre, sueldoBase);
}

@Override
double calcularSalario() {
return sueldoBase;
}
}

class EmpleadoTiempoParcial extends Empleado {


int horasTrabajadas;

// Constructor
public EmpleadoTiempoParcial(String nombre, double sueldoBase, int
horasTrabajadas) {
super(nombre, sueldoBase);
[Link] = horasTrabajadas;
}

@Override
double calcularSalario() {
return sueldoBase * horasTrabajadas;
}
}

// Clase Empresa con ArrayList de Empleado


class Empresa {
private ArrayList<Empleado> empleados;

// Constructor
public Empresa() {
[Link] = new ArrayList<>();
}
public void agregarEmpleado(Empleado e) {
[Link](e);
}

public double calcularTotalSalarios() {


double total = 0;
for (Empleado e : empleados) {
total += [Link]();
}
return total;
}
}

// Clase principal
public class Main {
public static void main(String[] args) {
Empresa empresa = new Empresa();
[Link](new EmpleadoTiempoCompleto("Juan",
2500));
[Link](new EmpleadoTiempoParcial("Ana", 20,
80));

[Link]("Total de salarios: " + [Link]()


+ " euros.");
}
}
Ejercicio 4: Control de Animales

import [Link];

// Clase abstracta Animal

abstract class Animal {

String nombre;

int edad;

// Constructor

public Animal(String nombre, int edad) {

[Link] = nombre;

[Link] = edad;

abstract void hacerSonido();

// Interfaz Mascota

interface Mascota {

void jugar();

// Clases Perro y Gato

class Perro extends Animal implements Mascota {

// Constructor

public Perro(String nombre, int edad) {

super(nombre, edad);

@Override

void hacerSonido() {
[Link](nombre + " ladra: ¡Guau guau!");

@Override

public void jugar() {

[Link](nombre + " está jugando con la pelota.");

class Gato extends Animal implements Mascota {

// Constructor

public Gato(String nombre, int edad) {

super(nombre, edad);

@Override

void hacerSonido() {

[Link](nombre + " maulla: ¡Miau miau!");

@Override

public void jugar() {

[Link](nombre + " está jugando con un ovillo de lana.");

// Clase RefugioAnimales con ArrayList de Animal

class RefugioAnimales {

private ArrayList<Animal> animales;

// Constructor
public RefugioAnimales() {

[Link] = new ArrayList<>();

public void agregarAnimal(Animal a) {

[Link](a);

public void listarSonidos() {

for (Animal a : animales) {

[Link]();

if (a instanceof Mascota) {

((Mascota) a).jugar();

// Clase principal

public class Main {

public static void main(String[] args) {

RefugioAnimales refugio = new RefugioAnimales();

[Link](new Perro("Max", 5));

[Link](new Gato("Luna", 3));

[Link]();

}
Ejercicio 5: Tienda de Productos

import [Link];

// Clase abstracta Producto

abstract class Producto {

String nombre;

double precio;

// Constructor

public Producto(String nombre, double precio) {

[Link] = nombre;

[Link] = precio;

abstract void mostrarInfo();

// Interfaz Descuento

interface Descuento {

void aplicarDescuento(double porcentaje);

// Clases Electrodomestico y Alimento

class Electrodomestico extends Producto implements Descuento {

String marca;

// Constructor

public Electrodomestico(String nombre, double precio, String marca) {

super(nombre, precio);

[Link] = marca;

}
@Override

void mostrarInfo() {

[Link]("Electrodoméstico: " + nombre + ", Marca: " + marca + ", Precio: " +
precio + "€");

@Override

public void aplicarDescuento(double porcentaje) {

precio -= precio * (porcentaje / 100);

class Alimento extends Producto {

String fechaCaducidad;

// Constructor

public Alimento(String nombre, double precio, String fechaCaducidad) {

super(nombre, precio);

[Link] = fechaCaducidad;

@Override

void mostrarInfo() {

[Link]("Alimento: " + nombre + ", Caduca: " + fechaCaducidad + ", Precio: " +
precio + "€");

// Clase Tienda con ArrayList de Producto

class Tienda {

private ArrayList<Producto> productos;


// Constructor

public Tienda() {

[Link] = new ArrayList<>();

public void agregarProducto(Producto p) {

[Link](p);

public void aplicarDescuentoGlobal(double porcentaje) {

for (Producto p : productos) {

if (p instanceof Descuento) {

((Descuento) p).aplicarDescuento(porcentaje);

public void mostrarProductos() {

for (Producto p : productos) {

[Link]();

// Clase principal

public class Main {

public static void main(String[] args) {

Tienda tienda = new Tienda();

[Link](new Electrodomestico("Lavadora", 300, "Samsung"));

[Link](new Alimento("Manzana", 2, "01/06/2025"));


[Link]("Productos antes del descuento:");

[Link]();

[Link](10);

[Link]("\nProductos después del descuento:");

[Link]();

También podría gustarte