Rodolfo Sáenz
WENANCE SA
Tengo un programa que dibuja figuras automáticamente.
He creado una clase abstracta llamada Figura, esta tiene un método llamado dibujate()
¿Qué tendría que hacer para que la clase Triangulo pueda sobreescribir este método y poner el código que haga que dibuje la forma indicada?
Analiza el problema, realiza tu diagrama y comparte tu respuesta en la sección de discuciones.
Rodolfo Sáenz
WENANCE SA
Giancarlo Elvis Yarlequé Juárez
Vespaciano Forero Sanchez
Laura Sofía Córdoba
Irma Solis
Daniela Torres
Esteban Ramon Padron Urdaneta
Cristhian Gallo
Noe de Jesus Muñoz Martinez
Luis David López Berber
Jairo Andres Teran Arcos
Luis German Velasco Alquicira
Andrea Raquel Garay Leguizamón
Harrison Martinez
Ivan Dario Quintero Rios
Marcos Emilio Velásquez Hidalgo
Guy Acevedo
Jhon Alejandro Santamaria Vargas
SANTIAGO GONZALEZ OLARTE
Eder Hernández Hernández
Fernando Alberto Morales Reyes
public abstract class Figura { public abstract void dibujate(); } public class Triangulo extends Figura { @Override public void dibujate() { /* Lógica para dibujar triángulo */ } }
```` ``` ````
public abstract class Figura { public abstract void dibujate(); } public class Triangulo extends Figura { @Override public void dibujate() { System.out.println("Voy a dibujar un Triangulo"); } }
El diagrama seria algo así:
En el código quedaria algo así:
public abstract class Figura { abstract void dibujate(); }
public class Triangulo extends Figura { public float base; public float altura; public void dibujante() { //Se dibuja el triangulo } }
clase Figura
public abstract class Figura { public abstract void dibulate (); }
Clase Triangulo
public class Triangulo extends Figura { @Override public void dibujate() { } }
Solo definir el método dibujate y declarar la clase Triangulo como extensión de Figura
public class Triangulo extends Figura {
@Override
public void dibujate() {
pintaTriangulo()
}
}
public abstract class Figura {
public abstract void dibujate();
}
public class Triangulo extends Figura {
@Override
public void dibujate() {
//Logica para dibujar el triangulo
}
}
public abstract class Figura { public abstract void dibujar(); }
public class triangulo extends Figura {
@Override public void dibujar() { }
}
public abstract class Figura { protected abstract void dibujar(); } public class Triangulo extends Figura{ //Constructor public Triangulo() {} //Implementación método abstracto de la clase padre @Override public void dibujar() { System.out.println("Dibujando un Triangulo"); } } public class Rectangulo extends Figura{ public Rectangulo() {} //Implementación método abstracto de la clase padre @Override public void dibujar() { System.out.println("Dibujando un Rectangulo"); } } public class Main { public static void main(String[] args) { Figura triang = new Triangulo(); //Imprimir ((Triangulo)triang).dibujar(); Figura rectang = new Rectangulo(); //Imprimir ((Rectangulo)rectang).dibujar(); } }
Código:
public abstract class Figura { public abstract void dibujate(); } public class Triangulo extends Figura { @Override public void dibujate() { // TODO Auto-generated method stub } }
Excelente aporte Noe
Public abstract class Figura{ public abstract void dibujate(); } Public class Triangulo extends Figura{ @Override public void dibujate(){ // Proceso encargado de dibujar la figura } }
Respuesta:
public abstract class Figura { public abstract void dibujate(); } public class Triangulo extends Figura { @Override public void dibujate(){ } }
Diagrama
Luego de creada la clase Figura de forma abstracta con su medo dibujate() abstracto, se debe crear la clase Triangulo que heredara de la clase abstracta Figura, y tendrá que implementar y sobre escribir el método abstracto dibujate():
public abstract class Figura{ public abstract void dibujate(); }
public class Triangulo extends Figura{ public void dibujate() { //Codigo que dibuja la figura } }
La clase triangulo debe extender de figura y cambiar el método dibujate como abstracto. Luego se debe consumir para usar el metodo dibujate. public abstract class figura { public abstract void dibujate(); }
public class triangulo extends figura (){ public void dibujate(){ systema.out.println('triangulo'); } }
public class circulo extends figura (){ public void dibujate(){ systema.out.println('circulo'); } }
Es una mezcla entre interfaces y herencia, el codigo será propio de la clase de Triangulo.
public abstract class Figura(){ public abstract void dibujate(); } public class Triangulo extends Figura { @override public void dibujate(){ //Lineas de codigo propias de Triangulo. } }
public abstract class Figura(){ public abstract void dibujate(); } public class Triangulo extends Figura{ @override public void dibujate(){ /* Instrucciones... */ } }
La clase Triangulo debe heredar de Figura y sobrescribir el método dibújate() utilizando @Override. Para ello, Figura debe declarar dibújate() como método abstracto. Así, cada clase hija está obligada a implementar su propia forma de dibujarse.
public abstract class Figura {
public abstract void dibujate();
}
//Crear la clase Triangulo que extienda de la clase Figura.
public class Triangulo extends Figura {
@Override
public void dibujate() {
// Código para dibujar un triángulo
System.out.println("Dibujando un triángulo...");
System.out.println(" /\\");
System.out.println(" / \\");
System.out.println(" /____\\");
}
}
public abstract class Figura {
public abstract void dibujate();
}
public class Triangulo extends Figura {
@Override
public void dibujate() {
/* Escribir aquí la lógica para dibujar el triángulo */
}
}
// 1. Definición de la clase abstracta
abstract class Figura {
// Método abstracto: no tiene cuerpo, obliga a las hijas a implementarlo
public abstract void dibujate();
}
// 2. Extensión y sobreescritura en la clase hija
class Triangulo extends Figura {
@Override
public void dibujate() {
// Aquí va el código específico para dibujar el triángulo
System.out.println("Dibujando un triángulo con tres líneas unidas...");
}
}