jueves, 15 de mayo de 2008

Sobrecarga de métodos

En una misma clase pueden definirse varios métodos con el mismo nombre siempre y cuando tomen diferente número o tipo de parametro. Es posible ya que cuando se le llame al compilador sabrá a cual llamar a partir de los parametros basados en la llamada.
no se pueden permitir varios métodos que solo se diferencien en su valor de retorno ya que como este no se tiene que indicar al llamarlos no podría diferenciarse a que método en concreto se hace referencia en cada llamada.

Ejemplo: a partir de la llamada p.cumpleaños();
si ademas de la reaccion cumpleaños que no retorna nada hubiese otra que retornara un int, como sabría entonces el compilador a cual llamar.

void Cumpleaños (int cantidad)
{
Edad=Edad - cantidad;
}
void Cumpleaños (float cant1)
{
Edad=Edad + cant1;
}
void Cumpleaños (int cantidad, int resta)
{
Edad=Edad - (cantidad-resta);
}
Persona Andres=new Persona();
Andres.Cumpleaños ();
Persona Vicky=new Persona();
Vicky.Cumpleaños (10);
Persona Luis=new Persona();
Luis.Cumpleaños(20);

una vez que se define una clase, el nombre de la clase se convierte en un nuevo tipo de dato, que sirve tanto para declarar las variables de ese tipo como para crear objetos del mismo.

Sintaxis nombre-clase nombre-objeto

Ejemplo: Circulo mi circulo

la declaración de un objeto simplemente asocia el objeto con una clase, haciendo el objeto una instancia o copia de esa clase. hay que tomar en cuenta que la declaración no crea el objeto.
para crear realmente un circulo se necesta utilizar el operador new con el objeto para indicarle a la computadora que cree un objeto mi circulo y asigne espacio de memoria para el.

Sintaxis para crear un objeto.

se puede combinar la declaración y la creación o instanciaciónen una sola sentencia como la siguiente sintaxis.

nombreClase nombreObjeto = new nombreClase();

No hay comentarios: