Overblog
Seguir este blog
Edit post Administration Create my blog
19 junio 2009 5 19 /06 /junio /2009 03:51
  Constructores

Un Constructor  es una función, método, etc,  de las clases, la cual es llamada automáticamente cuando se crea un objeto de esa clase.

Por ser métodos, los constructores también aceptan parámetros. Cuando en una clase no especificamos ningún tipo de constructor, el compilador añade uno público por omisión sin parámetros, el cual NO hace nada.

Características de los Constructores

1.     Un constructor, tiene el mismo nombre de la clase a la cual pertenece.

2.     No puede ser Heredado.

3.     No retorna ningún valor (Ni void), por lo cual no debe especificarse ningún tipo de dato.

4.     Debe declararse como public, sólo en casos realmente extraordinarios será de otro tipo.

Supongamos una clase llamada Datos

public class Datos
{
  
//declaracion de atributos
            public Datos();//constructor sin parametros
            public Datos(int Edad)
            {
//Constructor con parámetros
               EdadM=Edad;
            }
}

Ejemplo.

Se Desea crear un objeto del tipo Coordenadas, que indique, la posición de un punto en el plano cartesiano, y permita calcular la distancia existente con otro punto, además del punto medio entre ellos.

1 /*Archivo Coordenadas.java*/
 2
 3
public class Coordenadas {
 4        private int x,y;//Atributos
 5                      public Coordenadas (int x1 , int y1)//constructor
 6                      {
 7                         //asignamos esos valores
 8                                  x=x1;
 9                                  y=y1;
10                     }
11                     public double Distancia (int x1, int y1)
12                     {
13                         //este método recibe como parametros
14                                  //las coordenadas del segundo punto
15                         double D;
16                                  D=Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
17                                  return D;//Retornamops el valor de la distancia
18                    }
19                    public void Pmedio(int x1, int y1)
20                    {
21                        double p1, p2;
22                                 p1=(x+x1)/2;
23                                 p2=(y+y1)/2;
24                                 System.out.println("El puntomedio es: "+p1+","+p2);
25                    }
26        }

 

1 /*Archivo UsaCoordenadas.java*/
 2 public class UsaCoordenadas {
 3 public static void main (String args []){
 4      Coordenadas P=new Coordenadas (10,20);
 5           //calculamos la Distancia:
 6           System.out.println("La Distancia es: "+P.Distancia(5,6));
 7           //Punto Medio
 8           P.Pmedio(5,6);
 9          }
10 }

Explicación:

Un método, si va a devolver algún valor, éste debe especificarse cuando se hace la definición del mismo, para el caso, el método Distancia, devuelve el valor de la distancia, es por ello que lo especificamos como public double. Además que, cuando realizamos la llamada de  ese método, es en ese preciso lugar que aparecerá el valor que devuelve. Por otra parte,  los atributos, son de acceso privado, lo cual implica que, sólo podemos acceder a ellos,  en la clase Coordenadas.

        Sobrecarga

Cuando en una clase, se definen un mismo método, con diferente número de parámetros, o bien con el mismo numero de parámetros pero diferenciándose en la definición, en la cual, al menos un parámetro sea de diferente tipo, cuando esto sucede, se dice que el método está sobrecargado.

Ejemplo.

Cree una aplicación en Java, que imprima un número imaginario. Nota, los números imaginarios, poseen una parte real y otra imaginaria, acompañada por la constante i.

 1 class Imaginario {
 2    private int real, imag;
 3         public Imaginario()
 4         {
 5             real=0;
 6                      imag=0;
 7         }
 8         public Imaginario(int x, int y)
 9         {
10           real=x;
11                    imag=y;
12        }
13        public void Mostrar()
14        {
15           System.out.println("El Numero Imaginario es: "+real+" + "+imag+"i");
16        }
17 }

 

1 class UsaImaginario{
2 public static void main (String args []) {
3    Imaginario oI=new Imaginario(5,6);
4          oI.Mostrar();
5 }
6 }

Explicación.

En el ejemplo anterior puede notar que, los atributos, son esas variables simples, es las cuales almacenaremos información relevante a los objetos que, crearemos a partir de esa clase.

Además que, los estamos declarando como públicos, lo cual indica que tenemos acceso directo desde cualquier otro archivo a los atributos. Los métodos son del tipo public  y no devuelven ningún valor, por tal razón son declarados como void. Además que. El método EstablecerEdad y EstablecerNota, reciben un argumento cada uno de ellos, el cual es asignado al respectivo atributo.

        Constructores

Un Constructor  es una función, método, etc,  de las clases, la cual es llamada automáticamente cuando se crea un objeto de esa clase.

Por ser métodos, los constructores también aceptan parámetros. Cuando en una clase no especificamos ningún tipo de constructor, el compilador añade uno público por omisión sin parámetros, el cual NO hace nada.

Características de los Constructores

1.     Un constructor, tiene el mismo nombre de la clase a la cual pertenece.

2.     No puede ser Heredado.

3.     No retorna ningún valor (Ni void), por lo cual no debe especificarse ningún tipo de dato.

4.     Debe declararse como public, sólo en casos realmente extraordinarios será de otro tipo.

Supongamos una clase llamada Datos

public class Datos
{
  
//declaracion de atributos
            public Datos();//constructor sin parametros
            public Datos(int Edad)
            {
//Constructor con parámetros
               EdadM=Edad;
            }
}

Ejemplo 7.2

Se Desea crear un objeto del tipo Coordenadas, que indique, la posición de un punto en el plano cartesiano, y permita calcular la distancia existente con otro punto, además del punto medio entre ellos.

1 /*Archivo Coordenadas.java*/
 2
 3
public class Coordenadas {
 4        private int x,y;//Atributos
 5                      public Coordenadas (int x1 , int y1)//constructor
 6                      {
 7                         //asignamos esos valores
 8                                  x=x1;
 9                                  y=y1;
10                     }
11                     public double Distancia (int x1, int y1)
12                     {
13                         //este método recibe como parametros
14                                  //las coordenadas del segundo punto
15                         double D;
16                                  D=Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
17                                  return D;//Retornamops el valor de la distancia
18                    }
19                    public void Pmedio(int x1, int y1)
20                    {
21                        double p1, p2;
22                                 p1=(x+x1)/2;
23                                 p2=(y+y1)/2;
24                                 System.out.println("El puntomedio es: "+p1+","+p2);
25                    }
26        }

 

1 /*Archivo UsaCoordenadas.java*/
 2 public class UsaCoordenadas {
 3 public static void main (String args []){
 4      Coordenadas P=new Coordenadas (10,20);
 5           //calculamos la Distancia:
 6           System.out.println("La Distancia es: "+P.Distancia(5,6));
 7           //Punto Medio
 8           P.Pmedio(5,6);
 9          }
10 }

Explicación:

Un método, si va a devolver algún valor, éste debe especificarse cuando se hace la definición del mismo, para el caso, el método Distancia, devuelve el valor de la distancia, es por ello que lo especificamos como public double. Además que, cuando realizamos la llamada de  ese método, es en ese preciso lugar que aparecerá el valor que devuelve. Por otra parte,  los atributos, son de acceso privado, lo cual implica que, sólo podemos acceder a ellos,  en la clase Coordenadas.

        Sobrecarga

Cuando en una clase, se definen un mismo método, con diferente número de parámetros, o bien con el mismo numero de parámetros pero diferenciándose en la definición, en la cual, al menos un parámetro sea de diferente tipo, cuando esto sucede, se dice que el método está sobrecargado.

Ejemplo.

Cree una aplicación en Java, que imprima un número imaginario. Nota, los números imaginarios, poseen una parte real y otra imaginaria, acompañada por la constante i.

 1 class Imaginario {
 2    private int real, imag;
 3         public Imaginario()
 4         {
 5             real=0;
 6                      imag=0;
 7         }
 8         public Imaginario(int x, int y)
 9         {
10           real=x;
11                    imag=y;
12        }
13        public void Mostrar()
14        {
15           System.out.println("El Numero Imaginario es: "+real+" + "+imag+"i");
16        }
17 }

 

1 class UsaImaginario{
2 public static void main (String args []) {
3    Imaginario oI=new Imaginario(5,6);
4          oI.Mostrar();
5 }
6 }

Compartir este post

Published by Prof. Luis E. Aponte I.
Comenta este artículo

Comentarios

pos el Axl 09/05/2016 20:44

ya hablando seriamente.

hola :v
te pico la cola 7u7

like y te publico xdXdxDxdd

el fin del mundo sera en 2018 debido a las bombas de los israelitas, cuidense la espalda y disfruten del cariño de sus seres queridos, y pasen el pack de la prima zukhulenta e.e

La Dana Diaz es bien puta :v

Vendo pulparindos 09/05/2016 20:37

Lo del men de abajo x2 >:v

Axl 09/05/2016 20:36

me pusieron 5 por a ver leido y copiado esta informacion, osea k onda k pex >:v
ya no hay respeto o k tranzaaa
los odio
4:20 de la madrugada... La hora adecuada... La traego bien parada .8

jose alberto 05/16/2014 09:58

Una pregunta... si tengo un constructor que recibe un objeto, como hago para inicializarlo y como le paso el objeto cuando creo un objeto de la clase con el constructor que recibe otro objeto. No c
si me explico.
Supongamos que tengo una clase Autor en el cual su constructor recibe tres parametros la cual es el nombre, el apellido y el año de nacimiento, y tengo los metodos de get, en otra clase Libro, su
constructor recibe tres parametros y uno de ellos es un objeto de la clase Autor asi:
public Libro(String nombre, Autor autor, double precio). y no c como inicializar autor en ese constructor y en el main no c como pasar el onjeto de Autor a Libro para que pueda yo imprimir los
datos de un libro.

Iván 05/29/2013 18:58

Me gustaría hacer una aclaración y si no es correcta que se me corrija. En el primer párrafo se explica que "si no se pone ningún constructor el compilador añade uno PÚBLICO por defecto". No estoy
de acuerdo, pues si la clase tiene acceso "default" el constructor por defecto no será "public" sino "default". Muchas gracias.