{"id":865,"date":"2016-12-16T09:16:02","date_gmt":"2016-12-16T15:16:02","guid":{"rendered":"http:\/\/naps.com.mx\/blog\/?p=865"},"modified":"2017-11-16T12:13:44","modified_gmt":"2017-11-16T18:13:44","slug":"constructores-declaracion-uso-y-aplicaciones","status":"publish","type":"post","link":"https:\/\/naps.com.mx\/blog\/constructores-declaracion-uso-y-aplicaciones\/","title":{"rendered":"Constructores: declaraci\u00f3n, uso y aplicaciones"},"content":{"rendered":"<p>Aprenderemos de un forma sencilla el uso de Constructores en la Programaci\u00f3n Orientada a Objetos.<\/p>\n<div id=\"attachment_868\" style=\"width: 1290px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2016\/12\/constructores.jpeg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-868\" class=\"size-full wp-image-868\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2016\/12\/constructores.jpeg\" alt=\"constructores\" width=\"1280\" height=\"853\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2016\/12\/constructores.jpeg 1280w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2016\/12\/constructores-300x200.jpeg 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2016\/12\/constructores-1024x682.jpeg 1024w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a><p id=\"caption-attachment-868\" class=\"wp-caption-text\">Aprende m\u00e1s sobre Constructores en Java<\/p><\/div>\n<p><!--more--><\/p>\n<p>En el tema anterior (<a href=\"http:\/\/naps.com.mx\/blog\/objetos-y-clases-en-java\/\">Objetos y clases en Java<\/a>), creamos e instanciamos una clase llamada <em>Tortuga<\/em> que ten\u00eda como atributos el nombre y la posici\u00f3n <em>x,y<\/em> de la tortuga.<\/p>\n<p>Desde la funci\u00f3n principal utilizamos esta instrucci\u00f3n para crear el objeto.<\/p>\n<p><strong><em>Tortuga mitortuga = new Tortuga();<\/em><\/strong><\/p>\n<p>Eso nos crea un objeto llamado <em>mitortuga<\/em> que toma todos los atributos y m\u00e9todos de la clase <em>Tortuga<\/em>.<\/p>\n<p>Podemos hacer que al momento de construir el objeto, se cree con algunos datos.\u00a0 Para realizar esto emplearemos <strong>Constructores<\/strong>.<\/p>\n<p>Un constructor es un m\u00e9todo especial que puede emplearse para especificar las tareas que deban realizarse al momento de la creaci\u00f3n del objeto, por ejemplo, la inicializaci\u00f3n de atributos (Garc\u00eda, 2010).<\/p>\n<p>Tal como lo tenemos: \u00a0<strong><em>Tortuga mitortuga = new Tortuga(); <\/em><\/strong>crea el objeto, pero no inicializa sus atributos. \u00a0Vamos a crear un <strong>constructor<\/strong>, para que siempre, al momento de crear el objeto, se tengan que pasar sus valores <em>x,y<\/em> iniciales.<\/p>\n<h2>Constructores: Declaraci\u00f3n<\/h2>\n<p>Abrimos el archivo de la clase Tortuga y le a\u00f1adimos un nuevo m\u00e9todo:<\/p>\n<pre class=\"lang:java decode:true \">public Tortuga(int x, int y ){\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 nombre = \"Sin nombre\";\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 posx=x;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 posy=y;\r\n\u00a0\u00a0\u00a0 }<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Notamos que este m\u00e9todo tiene el mismo nombre que la clase (<em>Tortuga<\/em>), eso quiere decir que es el <strong>Constructor<\/strong> de la clase. Recibe dos par\u00e1metros (<em>int x, int y<\/em>), y cuando se ejecuta, asigna al atributo <em>nombre<\/em> de la clase, el valor \u201cSin nombre\u201d, y a los atributos <em>posx<\/em> y <em>posy<\/em> de la clase, los valores que el usuario escribe cuando cree el objeto.<\/p>\n<p>Tambien se observa que este m\u00e9todo no tiene un valor de retorno (como <em>void).<\/em><\/p>\n<p>Ahora esta l\u00ednea marcar\u00e1 un error: <span style=\"color: #ff0000;\"><strong><em>Tortuga mitortuga = new Tortuga();<\/em><\/strong><\/span><\/p>\n<p>Java nos est\u00e1 exigiendo que especifiquemos la posici\u00f3n <em>x,y<\/em> de la tortuga que estamos creando.<\/p>\n<h2>Constructores: Uso\u00a0 y aplicaciones<\/h2>\n<p>Nuestra l\u00ednea ahora va a quedar as\u00ed:\u00a0 <em><strong>Tortuga mitortuga = new Tortuga(10,10);<\/strong><\/em><\/p>\n<p>Observe que ya estamos especificando el valor <em>x,y<\/em> inicial con el que se crear\u00e1 <em>mitortuga.<\/em><\/p>\n<p>Ahora la salida del programa se mostrar\u00e1 de esta forma:<\/p>\n<p><a href=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2016\/12\/Constructores-en-Java.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-866\" src=\"http:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2016\/12\/Constructores-en-Java.png\" alt=\"constructores-en-java\" width=\"374\" height=\"107\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2016\/12\/Constructores-en-Java.png 374w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2016\/12\/Constructores-en-Java-300x86.png 300w\" sizes=\"auto, (max-width: 374px) 100vw, 374px\" \/><\/a><\/p>\n<h3>En conclusi\u00f3n<\/h3>\n<p>Siempre debemos utilizar un <strong>constructor<\/strong> para todas nuestras clases. Nos permiten disponer de un lugar espec\u00edfico para inicializar nuestras variables y atributos, y crean restricciones que mejoran la seguridad de nuestra aplicaci\u00f3n.<\/p>\n<p>&nbsp;<\/p>\n<h3>Referencias<\/h3>\n<ol>\n<li><strong>Garc\u00eda<\/strong> <strong>Ll<\/strong>. (2010). <strong><a href=\"https:\/\/books.google.com.mx\/books?id=fGKyeZgvV4MC&amp;printsec=frontcover&amp;hl=es&amp;source=gbs_ge_summary_r&amp;cad=0#v=onepage&amp;q&amp;f=false\" target=\"_blank\">Programaci\u00f3n orientada a objetos en Java<\/a><\/strong>. Barranquilla. Grupo Editorial Iba\u00f1ez.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Aprenderemos de un forma sencilla el uso de Constructores en la Programaci\u00f3n Orientada a Objetos.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"amp_status":"","footnotes":""},"categories":[167],"tags":[178,97,131],"class_list":["post-865","post","type-post","status-publish","format-standard","hentry","category-programacion-orientada-a-objetos","tag-aprender-a-programar","tag-ejercicios-java","tag-fundamentos-de-programacion"],"_links":{"self":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=865"}],"version-history":[{"count":2,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/865\/revisions"}],"predecessor-version":[{"id":869,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/865\/revisions\/869"}],"wp:attachment":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}