Objetos,clases y constructores.
Clases
Una clase en Java se puede entender como un prototipo que define las variables y los métodos comunes a un cierto tipo de instancias, una clase define todo lo que caracteriza y pueden hacer una o varias instancias.
En java las clases son las matrices de las que luego se pueden crear múltiples instancias del mismo tipo. La clase define las variables y los métodos comunes a las instancias de ese tipo (el tipo de la clase creada), pero luego, cada instancia de esta clase tendrá sus propios valores (su propio molde, color y receta) y compartirán las mismas funciones.
Ejemplo
//Le damos un nombre "MiClase" a la clase
public class MiClase
{
//Atributos de la clase
private String atributo1;
private int atributo 2;
private float atributo 3;
//Constructor con el mismo nombre de la clase
public MiClase(){}
//Métodos de la clase
public void metodo1()
{
//Método vacio
}
public String metodo2()
{
return "metodo2";
}
}
Objetos
En Java, un objeto es básicamente una instancia de una clase (las instancias de las que hablábamos hace un momento). Para el ejemplo de la fábrica de galletas, los objetos vendrían siendo cada una de las diferentes galletas obtenidas de los moldes definidos (clases), creados por medio de un proceso o "constructor" de galletas.
Ejemplo
package misClases; //Se le declara un paquete
public class Animal
{
private String raza;
private String nombre;
private int edad;
public Animal(String nuevoNombre)
{
nombre = nuevoNombre; //Se le da un nombre al animal
}
//Método para obtener la edad del animal
public int getEdad()
{
return edad;
}
//Método para establecer la edad del animal
public void setEdad(int nuevaEdad)
{
edad = nuevaEdad;
}
//Método para obtener el nombre del animal
public String getNombre()
{
return nombre;
}
}
Constructor
Una pregunta que nos puede surgir es si debemos usar un constructor con parámetros o los métodos set de los atributos para establecer los valores de los atributos del objeto. En realidad es lo mismo en cuanto a resultados u términos generales
Ejemplo
public class Aclaracion
{
private int atributo1;
private int atributo2;
private String atributo3;
//Declaramos un constructor
public Aclaracion(int attr1, int attr2, String attr3)
{
atributo1 = attr1;
atributo2 = attr2;
atributo3 = attr3;
}
public static void main(String[] args)
{
Aclaracion ac = new Aclaracion(5, 10, "x");//Creamos un objeto enviando parámetros al constructor
System.out.println(ac.atributo1 + ", " + ac.atributo2 + ", " +ac.atributo3);//Mostramos el valor de los atributos
//Imprime '5, 10, x'
}
}