Logo Studenta

constructores programación

¡Estudia con miles de materiales!

Vista previa del material en texto

BALTAZAR FERNÁNDEZ GUSTAVO
INVESTIGACIÓN
Constructores
En java existen métodos especiales que son los constructores y destructores (En Java no hay destructores como lo es en C++). Sin embargo, la investigación se enfoca en los primeros mencionados que son los constructores, pero ambos métodos son opcionales, los cuales no es obligatorio programarlos salvo que se necesiten. En Java una forma de asegurar que los objetos siempre contengan valores validos es escribir un constructor.
El constructor del objeto es un procedimiento llamado automáticamente cuando se crea un objeto de esa clase. Si el programador no los declara, Java generará uno pode defecto. La función del constructor es inicializar el objeto.
En resumen, es un método perteneciente a la clase que posee las siguientes características especiales:
· Se llama igual que la clase.
· No devuelve nada, ni siquiera void.
· Pueden existir varios, pero siguiendo las reglas de la sobrecarga de funciones.
· De entre los que existan, tan sólo uno se ejecutara al crear un objeto de la clase.
· Asigna memoria para el objeto por medio del operador new.
· Inicia los atributos de ese objeto, ya sea con los valores especificados en su propia declaración, o en su defecto, con los valores predeterminados por el sistema: los atributos numéricos a ceros, los alfanuméricos a nulos y las referencias a objetos a null.
· Llama al constructor de la clase que puede ser uno entre varios.
Normalmente dentro del código de un constructor generalmente suele existir inicializaciones de variables y objetos para conseguir que el objeto sea creado con dichos valores iniciales
Su sintaxis es la siguiente:
[modifVisibilidad] nombreConstructor (Lista parámetros) [throws listaExcepciones] { }
public Fecha () { }
Fecha f1 = new Fecha(); //se ejecuta el constructor sin parámetros
Fecha f2 = new Fecha(1,1,2010); //se ejecuta el constructor con parámetros
El constructor posee un par de llaves, dentro de las cuales estará el código que se ejecutará al ser llamada por la función. Dicho código estará formado por instrucciones validas en el lenguaje. 
Dado que los constructores son métodos, admiten parámetros igual que estos. Cuando en una clase no especificamos ningún constructor, el compilador añade uno publico por omisión sin parámetros. Un constructor por omisión de una clase C es un constructor sin parámetros que no hace nada. Sin embargo, es necesario porque será invocado cada vez que se construya un objeto sin especificar ningún argumento, en cuyo caso el objeto será iniciado con los valores especificados en la declaración de los atributos en la clase, o en su defecto, con los valores predeterminados por el sistema.
Un constructor se distingue fácilmente porque tienen el mismo nombre que la clase a la que pertenece, no se hereda, no puede retomar un valor (incluyendo void como se mencionó anteriormente) y no se puede ser declarado final, static, abstract, synchronized o native (los dos primeros modificadores ya son conocidos; los otros serán en la medida que se extiendan los conocimientos en java)
Cuando una clase tiene un constructor, este será invocado automáticamente siempre que se cree un nuevo objeto de esa clase. El objeto se considera construido con los valores predeterminados justo antes de iniciarse la ejecución del constructor. En el caso de que el constructor tenga parámetros, para crear un nuevo objeto hay que especificar la lista de argumentos correspondiente entre los paréntesis que siguen el nombre de la clase del objeto. 
Es evidente que se pueden definir múltiples constructores con el mismo nombre y diferentes parámetros con el fin de poder iniciar un objeto de una clase de diferentes formas. Esto no es nuevo, simplemente es aplicar la técnica de sobrecargar un método.
ENCAPSULADO DE DATOS
El encapsulamiento hace referencia a ocultar los detalles de implementación internos del objeto a los demás. Esta propiedad permite asegurar que el contenido de la información de un objeto se encuentra seguro del mundo exterior. La forma de implementar el encapsulamiento en una clase se logra a través del uso de niveles de visibilidad (también conocidos como modificadores de acceso).
El mecanismo de ocultación de miembros se conoce en la programación orientada a objetos como encapsulación: proceso de ocultar la estructura interna de datos de un objeto y permitir el acceso sólo a través de la interfaz pública definida, entendiendo por interfaz pública el conjunto de miembros públicos de una clase. ¿Qué beneficios reporta la encapsulación? Que un usuario de una determinada clase no pueda escribir código en base a la estructura interna del objeto, sino sólo en base a la interfaz
La finalidad de esta propiedad consiste en impedir la accesibilidad a los atributos de un objeto desde “el exterior” de dicho objeto; de tal modo que el acceso a dichos atributos solamente sea posible desde los métodos de dicho objeto. Por defecto, cuando definimos los atributos de un objeto, estos son accesibles desde los métodos del objeto, y también desde los métodos de todos los objetos que responden a clases del mismo package.
El término encapsulamiento en Java, consiste en ocultar atributos de un objeto de manera que solo se pueda cambiar mediante operaciones definidas en ese objeto. Está estrechamente relacionado con la visibilidad. 
Para definir la visibilidad en Java, se dispone de palabras reservadas:
· public: nos indica que es accesible desde cualquier clase [interface].
· private: solo es accesible desde a clase actual.
· protected: accesible desde la clase actual, sus descendientes o el paquete del que forma parte.
· sin ninguna palabra: accesible desde cualquier clase del paquete.
Al empaquetamiento de las variables de un objeto con la protección de sus métodos se le llama encapsulamiento. Típicamente, el encapsulamiento es utilizado para esconder detalles de la puesta en práctica no importantes de otros objetos. Entonces, los detalles de la puesta en práctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa.
El encapsulamiento de variables y métodos en un componente de software ordenado es, todavía, una simple idea poderosa que provee dos principales beneficios a los desarrolladores de software:
Modularidad, esto es, el código fuente de un objeto puede ser escrito, así como darle mantenimiento, independientemente del código fuente de otros objetos. Así mismo, un objeto puede ser transferido alrededor del sistema sin alterar su estado y conducta.
El encapsulamiento Java es aquel que permite gestionar la visibilidad de los métodos y atributos que se encuentran en una clase determinada, tiene la capacidad de ponerlos en modo privado que se utilizaran en esa clase solamente, en modo protegido se utilizan todos los métodos, clases y atributos que se encuentren en el mismo paquete y en modo público que pueden ser usados por cualquier clase o método.
Los beneficios del encapsulamiento de objetos radican en la modularidad, esto quiere decir que el código fuente del objeto puede ser escrito, independientemente del código fuente de otros objetos, esta modularidad también aplica cuando se habla del mantenimiento y en la transferencia del objeto alrededor del sistema sin alterar su estado y conducta. 
El ocultamiento de la información también es considerado una ventaja del encapsulamiento ya que un objeto puede elegir tener una interfaz pública no que otros objetos eligen para comunicarse con él, cuando la configuración del objeto se encuentra en privado esta puede ser cambiada en cualquier momento sin afectar a los otros objetos que dependan de ello.
La modularidad hace del encapsulamiento Java un gran beneficio, así como el ocultamiento pero las clases también juegan un papel fundamental a la hora de reutilizar el código, con estas características los programadores de software pueden utilizar la misma clase, así como el mismo código para muchos objetos al mismo tiempo. 
La escritura de códigos orientados a objetos puede verse como un paquete de datos con procedimientos para hacerfuncionar esos datos, es de tipo abstracto cuando se habla de encapsulamiento en los objetos pues aquí se definen propiedades bastante significativas, así como atributos genéricos con otros objetos que poseen características similares.
Como se mencionó anteriormente el ocultamiento de la información, es decir, un objeto tiene una "interfaz publica" que otros objetos pueden utilizar para comunicarse con él. Pero el objeto puede mantener información y métodos privados que pueden ser cambiados en cualquier tiempo sin afectar a los otros objetos que dependan de ello.
Los objetos proveen el beneficio del modularidad y el ocultamiento de la información. Las clases proveen el beneficio de la reutilización. Los programadores de software utilizan la misma clase, y por lo tanto el mismo código, una y otra vez para crear muchos objetos.
FUENTES DE CONSULTA
Moreno Pérez, J. C. (2015). <i>Programación.</i>. RA-MA Editorial. https://elibro.net/es/ereader/ittoluca/62476?page=45
4.4.5 Definición de constructores de una clase. | Curso de Introducción a Java. (s. f.). (c) www.exes.es. Recuperado 9 de febrero de 2022, de https://www.mundojava.net/definicion-de-constructores-de-una-clase.html?Pg=java_inicial_4_4_5.html
Ceballos Sierra, F. J. (2015). <i>Java 2: curso de programación (4a. ed.).</i>. RA-MA Editorial. https://elibro.net/es/ereader/ittoluca/59727?page=322
Flórez Fernández, H. A. (2012). Programación orientada a objetos usando java.. Ecoe Ediciones. https://elibro.net/es/lc/ittoluca/titulos/69236
García Llinás, L. F. (2010). Todo lo básico que debería saber: sobre programación orientada a objetos en Java. Bogotá, Colombia: Ediciones de la U. Recuperado de https://elibro.net/es/ereader/ittoluca/69813?page=51.
Fonseca, F. J. B. (2018, 5 julio). El encapsulamiento y la visibilidad en Java. Apuntes de programación. Recuperado 9 de febrero de 2022, de https://blogsaverroes.juntadeandalucia.es/apuntesprogramacion/2018/07/05/el-encapsulamiento-y-la-visibilidad-en-java/#:%7E:text=El%20t%C3%A9rmino%20encapsulamiento%20en%20Java,operaciones%20definidas%20en%20ese%20objeto.&text=Para%20definir%20la%20visibilid
Constructor en Java. (s. f.). Blogger.com. Recuperado 9 de febrero de 2022, de http://puntocomnoesunlenguaje.blogspot.com/2012/07/normal-0-21-false-false-false_103.html#:%7E:text=Un%20constructor%20se%20invoca%20cuando,ser%20siempre%20la%20primera%20instrucci%C3%B3n.
Encapsulamiento Java - Cursos de Java. (s. f.). Grupo Codesi. Recuperado 9 de febrero de 2022, de http://www.buscaminegocio.com/cursos-de-java/encapsulamiento-java.html
Blasco, F. (2019). Programación orientada a objetos en Java. Bogotá, Ediciones de la U. Recuperado de https://elibro.net/es/ereader/ittoluca/127125?page=122.
Ceballos Sierra, F. J. (2015). Java 2: curso de programación (4a. ed.). Madrid, Spain: RA-MA Editorial. Recuperado de https://elibro.net/es/ereader/ittoluca/59727?page=127.

Continuar navegando

Materiales relacionados