Está en la página 1de 10

Desarrollo del laboratorio #1

Integrantes:
Jackson palacios
jeferson vasquez ocoro
Jose Luis sanchez Ortiz

Las clase ClaseFile y ClaseArrayList, son usadas por el main

Ambiente de las clases

Interfaces
public interface IFigura2Dimension {
public double perimetro();
public double area();
public String mostrar();
}
public interface IFigura3Dimension extends IFigura2Dimension{
public double volumen();
}

Clases
public class Circulo implements IFigura2Dimension{
@Override
public double area() {
return Math.PI * Math.pow(this.radio, 2);
}
@Override
public double perimetro() {
return 2* Math.PI * this.radio;
}
@Override
public String mostrar(){
String cadena ="************ CIRCULO ************ \n"+
"Radio: " + getRadio()+" r \n"+
"Area: " + area()+"\n"+
"Perimetro: " + perimetro()+" \n\n ";
return cadena;
}
}
public class Rectangulo implements IFigura2Dimension{
@Override
public double perimetro(){
return 2*(this.ancho+ this.largo);
}
@Override
public double area(){

return this.ancho *this.largo;


}
@Override
public String mostrar(){
String cadena ="************ RECTANGULO ************\n"+
"Ancho: " + getAncho()+" cm\n"+
"Largo: " + getLargo()+" cm\n"+
"Area: " + area()+"\n"+
"Perimetro: " + perimetro()+"\n\n ";
return cadena;
}
}
public class Cubo extends Rectangulo implements IFigura3Dimension {
@Override
public double perimetro() {
return 4 * (this.altura + this.ancho + this.largo);
}
@Override
public double area() {
return 2 * (this.largo * this.ancho + this.largo * this.altura
+ this.altura * this.ancho);
}
@Override
public double volumen() {
return this.altura * super.area();
}
@Override
public String mostrar(){
String cadena ="************ CUBO ************ \n"+
"Ancho: " + getAncho()+" cm \n"+
"Largo: " + getLargo()+" cm \n"+
"El Area : " + area()+" \n"+
"Volumen: " + volumen()+" \n"+
"Perimetro: " + perimetro()+"\n\n ";
return cadena;
}
}
public class Creador2D {
public IFigura2Dimension CrearFigura2D(String figura) {
// creacion de objeto Rectangulo
if (figura.compareToIgnoreCase("rectangulo") == 0) {

double larg = Double.parseDouble(


JOptionPane.showInputDialog("Largo:"));
double ancho = Double.parseDouble(
JOptionPane.showInputDialog("Ancho:"));
Rectangulo rect1 = new Rectangulo(larg, ancho);
fig = rect1;
}
// creacion de objeto circulo
if (figura.compareToIgnoreCase("circulo") == 0) {
double radio = Double.parseDouble(
JOptionPane.showInputDialog("Radio:"));
Circulo cir = new Circulo(radio);
fig = cir;
}
return fig;
}
public IFigura2Dimension CrearFigura2D(String figura, javax.swing.JTextField largo,
javax.swing.JTextField ancho, javax.swing.JTextField radio ) {
IFigura2Dimension fig = null;
// creacion de objeto Rectangulo
if (figura.compareToIgnoreCase("rectangulo") == 0) {
double larg = Double.parseDouble(largo.getText());
double anch= Double.parseDouble(ancho.getText());
Rectangulo rect1 = new Rectangulo(larg, anch);
fig = rect1;
}
// creacion de objeto circulo
if (figura.compareToIgnoreCase("circulo") == 0) {
double radi = Double.parseDouble(radio.getText());
Circulo cir = new Circulo(radi);
fig = cir;
}
return fig;
}
}
public class Creador3D {

public IFigura3Dimension CrearFigura3D(String figura){


if (figura.compareToIgnoreCase("cubo") == 0){
double larg = Double.parseDouble(
JOptionPane.showInputDialog("Largo:"));
double ancho = Double.parseDouble(
JOptionPane.showInputDialog("Ancho:"));
double vol = Double.parseDouble(
JOptionPane.showInputDialog("Volumen:"));
Cubo cubo1 = new Cubo(larg, ancho, vol);
fig = cubo1;
}
return fig;
}
public IFigura3Dimension CrearFigura3D(String figura, javax.swing.JTextField largo,
javax.swing.JTextField ancho, javax.swing.JTextField altura){
IFigura3Dimension fig = null;
if (figura.compareToIgnoreCase("cubo") == 0){
double larg = Double.parseDouble(largo.getText());
double anch = Double.parseDouble(ancho.getText());
double altur = Double.parseDouble(altura.getText());
Cubo cubo1 = new Cubo(larg, anch, altur);
fig = cubo1;
}
return fig;
}
}
public class ClaseArrayList {
public boolean guardarFirurasArray(String figura){
boolean add = false;
if(this.listadoFigura.add(figura) == true){
add = true;

System.out.print(add);
}
return add;
}
public String listar="";
public String mostrarFiguras(){
for(int i=contador ; contador<listadoFigura.size();contador++){
listar += listadoFigura.get(contador);
//System.out.print(i+" "+listadoFigura.get(contador));
}
//System.out.println(""+listadoFigura.size());
return listar;
}
}

public class ClaseFile {


public void escribirFile(String figuras) throws IOException{
if(archivo.exists()) {
JOptionPane.showMessageDialog(null,"Nombre de archivo ya existe");
} else {
bw = new BufferedWriter(new FileWriter(archivo));
bw.write(""+figuras);
bw.close();
JOptionPane.showMessageDialog(null,"Se ha guardado el de archivo");
}
}
public String leerFile(String ruta) throws FileNotFoundException, IOException{

File verificador = new File(ruta);


String g = "";
if(verificador.exists()){
reader = new FileReader(ruta);
BufferedReader b = new BufferedReader(reader);
while((cadena = b.readLine())!=null) {
g += cadena + "\n";
}
b.close();
}else{
g = "La ruta no existe";
}
return g;
}
public boolean guardarArchivo(Component ventana, String cadenaDeTexto) {
boolean guardoArchivo=false;
try
{
String nombre="";
JFileChooser file=new JFileChooser();
FileNameExtensionFilter filtroTxt=new
FileNameExtensionFilter("TEXT FILES", "txt", "text");
file.setFileFilter(filtroTxt);
file.showSaveDialog(ventana);
File guarda =file.getSelectedFile();

if(guarda !=null)
{
File arch = new File(""+guarda+".txt");
if(arch.exists()) {
JOptionPane.showMessageDialog(null,"Nombre de archivo ya
existe");
} else{
nombre=file.getSelectedFile().getName();
/*guardamos el archivo y le damos el formato
directamente,
* si queremos que se guarde en formato doc lo definimos
como .doc*/
FileWriter save=new FileWriter(guarda+".txt");
save.write(cadenaDeTexto);
save.close();
//JOptionPane.showMessageDialog(null, "El archivo se a
guardado Exitosamente","Informacin",JOptionPane.INFORMATION_MESSAGE);

guardoArchivo = true;
}
}
}
catch(IOException ex)
{
JOptionPane.showMessageDialog(null,
"Su archivo no se ha guardado",
"Advertencia",JOptionPane.WARNING_MESSAGE);
}
return guardoArchivo;
}

public String abrirArchivo(Component ventana) {


String aux="";
texto="";
try
{
/*llamamos el metodo que permite cargar la ventana*/
FileNameExtensionFilter filtroTxt=new FileNameExtensionFilter("TEXT
FILES", "txt", "text");
fileChooser.setFileFilter(filtroTxt);
fileChooser.showOpenDialog(ventana);
/*abrimos el archivo seleccionado*/
File abre=fileChooser.getSelectedFile();
/*recorremos el archivo, lo leemos para plasmarlo
*en el area de texto*/
if(abre!=null)
{
FileReader archivos=new FileReader(abre);
BufferedReader lee=new BufferedReader(archivos);
while((aux=lee.readLine())!=null)
{
texto+= aux+ "\n";
}
lee.close();
}
}
catch(IOException ex)

{
JOptionPane.showMessageDialog(null,ex+"" +
"\nNo se ha encontrado el archivo",
"ADVERTENCIA!!!",JOptionPane.WARNING_MESSAGE);
}
return texto;
}
}

4
EJEMPLO DE POLIMORFISMO

/**
*
* @author Daniel CLASE ABSTRACTA
*/
abstract class Figura {
//se declaran metodos sin comportamiento
abstract void area();
abstract void perimetro();
}
/**
*
* @author Daniel SUBCLASE 1
*/
class Cuadrado extends Figura {
void area() {
System.out.println("Aqui se calcula el area de un
cuadrado");
}
void perimetro() {

System.out.println("aqui se calcula el perimetro de un


cuadrado");
}
}
/**
*
* @author Daniel SUBLCASE 2
*/
class Circulo extends Figura {
void area() {
System.out.println("aqui se puede calcular el area de un
circulo");
}
void perimetro() {
System.out.println("Aqui se calcula el perimetro de un
circulo");
}
}

/**
*
* @author Daniel MAIN
*/
Public class Polimorfismo {
public static void main(String[] args) {
Figura figura1 = new Circulo();
figura1.area();
figura1.perimetro();
figura1 = new Cuadrado();
figura1.area();
figura1.perimetro();
}
}

También podría gustarte