CS

Clases en Java

Ejercicios de utilización de clases en Java.

Programa P2

class P2 {
    int posicion;
    int cantidad;
    P2 (int posicion, int cantidad){
        this.posicion = posicion;
        this.cantidad = cantidad;
    }
    void print() {
        System.out.println("posicion: " + posicion + " cantidad: " + cantidad); 
    }
}

Programa Circulo

Este programa crea un objeto Circulo (simplificado) y un método main que utiliza la clase. Se puede ver el uso de la memoria con la aplicación Java tutor

public class Circulo {
    double x;
    double y;
    double r;
    Circulo (double x, double y, double r) {
        this.x = x;
        this.y = y;
        this.r = r;
    }
    Circulo(double r) {
        this(0.0, 0.0, r);
    }
    Circulo(){
        this(0.0, 0.0, 1.0);
    }
    public static void main(String[] args) {
        Circulo c1;
        c1 = new Circulo(2,3,4);
        Circulo c2 = new Circulo(20,30,40);
        Circulo c3 = new Circulo();
        Circulo[] vec = new Circulo[3];
        vec[0] = c1;
        vec[1] =  new Circulo(5.0);
    }
}

Programa UseCirculo1

Este programa utiliza la clase Circulo.java

public class UseCirculo1 {
    public static void main(String[] args) {
       Circulo c1 = new Circulo(Double.parseDouble(args[0]));
       Circulo c2 = new Circulo(Double.parseDouble(args[1]));
       Circulo c3 = new Circulo(Double.parseDouble(args[2]));
       System.out.println(c2.elMayor(c3));
    }
}

Programa UseCirculo

Este programa utiliza la clase Circulo.java

public class UseCirculo{
    public static void main(String[] args) {
        Circulo v[] = new Circulo[args.length];
        for (int i = 0; i < args.length; i++) {
            v[i] = new Circulo(Integer.parseInt(args[i]));
        }
        System.out.println(v[args.length - 2]);
        System.out.println(v[args.length - 1]);
    }
}

Class Vector

La clase Vector se define en: https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html

Utilizaremos los siguientes métodos:

void addElement(Object)   // Añade un elemento al vector
int size()                //  Devuelve el tamaño del vector
elementAt(int i)          // Devuelve el elemento de la posición i

Un ejemplo de un programa que crea un Vector de String e inserta varios elementos, muestra el tamaño y se le pide el primero (0).

import java.util.Vector;
public class UseVector{
    public static void main(String[] args) {
        Vector<String> vs = new Vector<String>();
        vs.addElement("Matthew");
        vs.addElement("Mark");
        vs.addElement("Luke");
        vs.addElement("John");
        System.out.println("Size: " + vs.size());
        for (int i=0; i<vs.size(); i++) {
            System.out.println("Element " + i + ": " + vs.elementAt(i));
        }
    }
}

Class Esfera

La clase Esfera hereda o deriva de la clase Circulo

public class Esfera extends Circulo {
    double z;
    Esfera(double x, double y, double z, double r) {
        super(x, y, r);
        this.z = z;
    }
    double volumen() {
        return 4./3.*Math.PI*r*r*r;
    }
    public static void main(String[] args) {
        Esfera e1 = new Esfera(3, 4, 5, 2);
        System.out.println(e1.volumen());
    }
}

Uso de la memoria

Se puede ver el uso de la memoria introduciendo esta clase en Java Tutor

public class typesDefinition {
    public static void main(String[] args) {
      int i=1;
      i = i + 1;
      float x = 0;
      int[] v;
      v = new int[5];
      v[0] = 3;
      String[] vs = new String[10];
      vs[0] = "Hello";  // equivalent to vs[0] = new String("Hello");
    }
}