Categorías
POO

¿Cómo hacer una guitarra con POO?

Fuente: Juan Ramírez | Verificado por: Maximiliano Vasques

Enunciado: Diseñe la clase Guitarra, pero intente abstraer características de las guitarras que son
comunes a todas. Ya sabemos que el precio, el número de serie y la fecha de fabricación
son parte de la guitarra. Pero el resto de los atributos se podrían modelar como una clase
diferente.


Framework

«import java.util.Date;»: Es importante usar esta importación cuando queremos utilizar el framework para usar el tipo de dato Date (Sirve para fechas)

Clase

Luego definimos la clase como abstracta (usando abstract), ya que luego vamos a hacer 2 herencias de esta misma, utilizándola como «molde» para otros tipos de guitarras.

Atributos

Se definen los atributos como privados, ya que es una buena práctica para no modificarlos.

Asignación

Luego se asigna valor al atributo de tipo de dato Date, con los demás valores numéricos no son necesarios en este caso ya que se asignan automáticamente en 0.

Gets y Sets

Se definen los gets y sets para los atributos, en el siguiente articulo muestro más a detalle esto, click aquí.

import java.util.Date;

public abstract class Guitarra
{
//atributos
    private int numeroSerie;
    private double precio;
    private Date fechaFabricacion;

    public Guitarra()
    {
        //asignaciones
        fechaFabricacion = new Date(06/21/2022);
    }
    public int getNumeroSerie(){
        return numeroSerie;
    }
    
    public void setNumeroSerie(int numeroSerie){
        this.numeroSerie = numeroSerie;
    }
    
    public double getPrecio(){
        return precio;
    }
    
    public void setPrecio(double precio){
        this.precio = precio;
    }
    
    public Date getFechaFabricacion(){
        return fechaFabricacion;
    }
    
    public void setFechaFabricacion(Date fechaFabricacion){
        this.fechaFabricacion = fechaFabricacion;
    }
    
    public abstract String sonar();
}

Herencia guitarra electrica

Se utiliza «extends» para realizar la herencia desde la clase Guitarra.

Luego se define el atributo único de esta herencia, que es en este caso «fuenteAlimentacion», y modificamos a un precio de ejemplo con «setPrecio(0)»

Se crea el método «sonar()» para comprobar si «puede sonar».

public class Electrica extends Guitarra
{
    private boolean fuenteAlimentacion;

    public Electrica()
    {
        fuenteAlimentacion = true;
        setPrecio(0);
    }
        public boolean getFuenteAlimentacion(){
        return fuenteAlimentacion;
    }
    
    public void setFuenteAlimentacion(boolean fuenteAlimentacion){
        this.fuenteAlimentacion = fuenteAlimentacion;
    }
    
    public String sonar(){
        return "guitarra eléctrica sonando";
    }
    
    }

Se realiza lo mismo con la segunda herencia de guitarra criolla pero con algunas diferencias como el atributo único con el que cuenta.

public class Criolla extends Guitarra
{
    private String cajaResonancia;

    public Criolla()
    {
        cajaResonancia = "";
        setPrecio(0);
    }
    public String getCajaResonancia(){
        return cajaResonancia;
    }
    
    public void setCajaResonancia(String cajaResonancia){
        this.cajaResonancia = cajaResonancia;
    }
    
    public String sonar(){
        return "guitarra criolla sonando";
    }
}
Diagrama UML

– ¿En qué se usa este algoritmo?

Estudiar: Es muy práctico para entender las herencias y polimorfismos en la programación orientada a objetos.

Categorías
POO

¿Cómo programar un contador con POO?

Fuente: Juan Ramírez | Verificado por: Maximiliano Vasques

Programemos una variable que aumente su valor, o se reste a través de llamar sus métodos.

– Solución en Java
public class contador
{
//Definición de variable contador
    private int cont;
//Asignación de variable contador
    public contador()
    {
        cont = 0;
    }
//Declaración de gets y sets
    
    public int getCont() {
        return cont;
    }
    
    public void setCont(int cont) {
        this.cont = cont;
    }
//Declaración de métodos
    public void sumarCont()
    {
        setCont(getCont()+1);
        System.out.println(cont);
    }
    
    public void restarCont()
    {
        setCont(getCont()-1);
        System.out.println(cont);
    }
    
}

(No olvides de crear una instancia y probarlo en la terminal llamando al método «sumarCont()» o «restarCont()»)

– ¿En qué se usa este algoritmo?

Estudiar: Es muy práctico para entender la programación orientada a objetos, y los Gets y Sets.

En caso que no entiendas esta explicación, te recomiendo el botón de «Contenido relacionado».