Aprenderemos de un forma sencilla el uso de Constructores en la Programación Orientada a Objetos.
En el tema anterior (Objetos y clases en Java), creamos e instanciamos una clase llamada Tortuga que tenía como atributos el nombre y la posición x,y de la tortuga.
Desde la función principal utilizamos esta instrucción para crear el objeto.
Tortuga mitortuga = new Tortuga();
Eso nos crea un objeto llamado mitortuga que toma todos los atributos y métodos de la clase Tortuga.
Podemos hacer que al momento de construir el objeto, se cree con algunos datos. Para realizar esto emplearemos Constructores.
Un constructor es un método especial que puede emplearse para especificar las tareas que deban realizarse al momento de la creación del objeto, por ejemplo, la inicialización de atributos (García, 2010).
Tal como lo tenemos: Tortuga mitortuga = new Tortuga(); crea el objeto, pero no inicializa sus atributos. Vamos a crear un constructor, para que siempre, al momento de crear el objeto, se tengan que pasar sus valores x,y iniciales.
Constructores: Declaración
Abrimos el archivo de la clase Tortuga y le añadimos un nuevo método:
public Tortuga(int x, int y ){ nombre = "Sin nombre"; posx=x; posy=y; }
Notamos que este método tiene el mismo nombre que la clase (Tortuga), eso quiere decir que es el Constructor de la clase. Recibe dos parámetros (int x, int y), y cuando se ejecuta, asigna al atributo nombre de la clase, el valor “Sin nombre”, y a los atributos posx y posy de la clase, los valores que el usuario escribe cuando cree el objeto.
Tambien se observa que este método no tiene un valor de retorno (como void).
Ahora esta línea marcará un error: Tortuga mitortuga = new Tortuga();
Java nos está exigiendo que especifiquemos la posición x,y de la tortuga que estamos creando.
Constructores: Uso y aplicaciones
Nuestra línea ahora va a quedar así: Tortuga mitortuga = new Tortuga(10,10);
Observe que ya estamos especificando el valor x,y inicial con el que se creará mitortuga.
Ahora la salida del programa se mostrará de esta forma:
En conclusión
Siempre debemos utilizar un constructor para todas nuestras clases. Nos permiten disponer de un lugar específico para inicializar nuestras variables y atributos, y crean restricciones que mejoran la seguridad de nuestra aplicación.
Referencias
- García Ll. (2010). Programación orientada a objetos en Java. Barranquilla. Grupo Editorial Ibañez.
Tu comentario
opiniones