JavaBeans, public y private.

En este tutorial vamos a definir las palabras "public", "private" y a hablar del concepto "javabean".

Hasta ahora veiamos que las variables eran "public" y se podían acceder desde el exterior de su propia clase, cuando en este ejemplo cambiamos la variable name de "public" a "private" vemos que desde el main de la Clase Tutorial12 ya no podemos acceder a ella de la manera en que lo haciamos hasta ahora. La palabra "private" hace que no se pueda acceder a esa variable.


package com.edu4java.tutorial12;

/**
 * A class is a mould from which we can create objects or instances
 * An object is an instance of a class
 * 
 * JavaBeans are reusable software components for Java
 * that can be manipulated visually in a builder tool.
 */
public class Dog {
	// instance variables

	private String name;
	public double weight;
	public String colour;

	public void printToConsole() {
		System.out.println();
		System.out.println("name: " + this.name);
		System.out.println("colour: " + this.colour);
		System.out.println("weight: " + this.weight);

	}
}


package com.edu4java.tutorial12;

public class Tutorial12 {

	public static void main(String[] args) {
		Dog dog1 = new Dog();
		dog1.name = "Coco";
		dog1.colour = "brown";
		dog1.weight = 1.5;
		dog1.printToConsole();

		Dog dog2 = new Dog();
		dog2.name = "Rope";
		dog2.colour = "green";
		dog2.weight = 50;
		dog2.printToConsole();

//		printToConsole(dog1);
//		printToConsole(dog2);
	}

	private static void printToConsole(Dog dog) {
		System.out.println();
		System.out.println("name: " + dog.name);
		System.out.println("colour: " + dog.colour);
		System.out.println("weight: " + dog.weight);

	}

}

Relacionado con el acceso a los datos tenemos el concepto JavaBean; que según la especificación de Sun Microsystems los define como "componentes de software reutilizables que se puedan manipular visualmente en una herramienta de construcción".

Para funcionar como una clase JavaBean, una clase debe obedecer ciertas convenciones sobre nomenclatura de métodos, construcción y comportamiento. Una de estas convenciones es que sus propiedades deben ser accesibles mediante métodos get y set que siguen una convención de nomenclatura estándar.

A continuación tenemos la clase Dog funcionando como JavaBean y la clase Tutorial12 que accede a las propiedades de Dog mediante los métodos getters y setters como establece el estandar JavaBean.

package com.edu4java.tutorial12;

/**
 * A class is a mould from which we can create objects or instances
 * An object is an instance of a class
 * 
 * JavaBeans are reusable software components for Java
 * that can be manipulated visually in a builder tool.
 */
public class Dog {
	// instance variables

	private String name;
	private double weight;
	private String colour;
	

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getWeight() {
		return weight;
	}

	public void setWeight(double weight) {
		this.weight = weight;
	}

	public String getColour() {
		return colour;
	}

	public void setColour(String colour) {
		this.colour = colour;
	}

	public void printToConsole() {
		System.out.println();
		System.out.println("name: " + this.name);
		System.out.println("colour: " + this.colour);
		System.out.println("weight: " + this.weight);

	}
}

package com.edu4java.tutorial12;

public class Tutorial12 {

	public static void main(String[] args) {
		Dog dog1 = new Dog();
		dog1.setName("Coco");
		dog1.setColour("brown");
		dog1.setWeight(1.5);
		dog1.printToConsole();

		Dog dog2 = new Dog();
		dog2.setName("Rope");
		dog2.setColour("green");
		dog2.setWeight(50);
		dog2.printToConsole();

//		printToConsole(dog1);
//		printToConsole(dog2);
	}

	private static void printToConsole(Dog dog) {
		System.out.println();
		System.out.println("name: " + dog.getName());
		System.out.println("colour: " + dog.getColour());
		System.out.println("weight: " + dog.getWeight());

	}

}

<< Anterior Siguiente >>