Clases (VI) – Objetos

Definición e Inicialización de Objetos

Una vez definida una clase se podrán crear objetos de esta clase con distintos datos para cada uno de ellos. La creación de objetos se lleva a cabo de la misma forma que la definición de una variable, pero en este caso, el tipo de datos es el nombre de la clase a la que va a pertenecer.

  private Tiempo t1, t2, t3

La inicialización del método se llevará a cabo mediante una llamada al constructor que hemos definido

  t1 = new Tiempo ();

Los constructores garantizan que todo objeto iniciará su existencia en un estado consistente

Sobrecarga de constructores

Los métodos de una clase pueden estar sobrecargados, es decir, que en función del número de parámetros con que se llame a una función se ejecute de una forma u otra.

  public Tiempo (int hoint mi, int se) {    //Constructor sobrecargado (2)

       setTiempo (ho, mi, se);

  }

  t2 = new Tiempo (20, 56, 14);   //Se llama al constructor (2)

Acceso a variables y métodos de un objeto

El acceso a las variables y a los métodos correspondientes a un determinado objeto se lleva a cabo mediante el operador punto (.)

  public Tiempo t1;

  t1.hora = 12;    //Accedo directamente a la variable (*)

  t1.setTiempo (12, 35, 46);  //Se invoca al método setTiempo sobre el

       //objeto t1  • Definición y empleo de métodos set y get

Las variables de una clase conviene que se declaren como private para mantener su integridad, ya que de esta forma únicamente podrán ser accedidas directamente por los métodos de esa clase.

Para proporcionar acceso a estos datos, se deben implementar accesores(métodos get) y modificadores (métodos set) como métodos públicos y que permitan controlar el formateo y exhibición de los datos, y validar que el dato introducido es apropiado para esa variable.

  Si hora fuera public   t1.hora = 59;  //Correcto

  t1.setHora (59);  //Comprueba que hora es >24

          // y devuelve mensaje

  Si hora fuera private   t1.hora = 59;  //NO ES POSIBLE

  t1.setHora (59); //Comprueba que hora es >24

          // y devuelve mensaje

Sobrecarga de Métodos

Java diferencia los métodos algo más que por su nombre, utiliza lo que se llama caracterización por completo , esto es incluye su nombre, su clase y sus argumentos.

De esta forma, dos métodos pueden tener a la vez el mismo nombre tanto entre clases distintas:

  class Radio {

  void Encender () {   …….   }

  }

  class Television {

  void Encender () {   ……. }

  }  // En este caso el número de argumentos es igual

o tener incluso el mismo nombre dentro de una misma clase:

  class CuentaBancaria {

       double m_dInteresActual;

       double m_dSaldo;

       double CalculaInteres () {  //Se aplica el interés actual por defecto

  return (m_dSaldo * m_dInteresActual)/365;   

       }

       double CalculaInteres (double d_NuevoInteres) {

  return (m_dSaldo * d_NuevoInteres)/365;   

       } //Se aplica el interés pasado como parámetro

  }

el método CalculaInteres ha sido sobrecargado para ejecutar dos operaciones relacionadas, y se diferencian en base a sus argumentos

Print Friendly, PDF & Email
The owner of this website has made a commitment to accessibility and inclusion, please report any problems that you encounter using the contact form on this website. This site uses the WP ADA Compliance Check plugin to enhance accessibility.