Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Por Marco de Jesús González Rangel
Para la materia de Programación Orientada a Objetos
Los métodos definen cual son las operaciones que se pueden realizar con los atributos de los objetos de la clase. La ejecución de un programa orientado a objetos consiste, en recibir, interpretar y responder unos objetos a los mensajes que envían otros objetos. En P.O.O. un mensaje está asociado siempre con un método, de manera que cuando un objeto recibe un mensaje la respuesta a ese mensaje es ejecutar el método asociado
Un método constructor de una clase es un método especial que
tiene el mismo nombre que la clase y
no tiene tipo de retorno.
inicializa el estado de un objeto.
La sintaxis para la declaración de un método constructor es:
[atributos] [modificadores] <identificador> ( [parámetros] ) [inicializador]
class Producto
{
private int clave;
private double precio;
public Producto( int c, double p)
{
clave = c;
precio = p;
}
public double daPrecio( )
{
return precio;
}
}
Accesible desde cualquier otra clase.
Accesible sólo desde el mismo paquete.
Se comporta como un método público para los métodos del mismo paquete o de las subclases y para el resto como un método privado.
Sólo accesible a través de métodos de la propia clase.
Los constructores y destructores son dos tipos de métodos especiales que se ejecutan, respectivamente, al crear un nuevo objeto y cuando el recolector de basura detecta que ya no lo estamos utilizando y es posible eliminarlo de la memoria. Hasta ahora no hemos hecho uso nunca ni de los constructores ni de los destructores puesto que los ejemplos que hemos venido utilizando eran bastante simples, pero a partir de ahora vamos a empezar a utilizarlos bastante a menudo. Sobre todo en el caso de los constructores, ya que los destructores no se suelen usar más que en contadas ocasiones.
Para crear un objeto se necesita reservar suficiente espacio en memoria e inicializar los valores de los campos que representan el estado del objeto.
Este trabajo es realizado por un tipo especial de método denominado constructor.
// Uso del constructor predeterminado.(No se define otro constructor)
using System;
using C = System.Console;
class Persona
{
private string nombre;
private int edad;
public void asignaNombre( string n)
{
nombre = n;
}
public void asignaEdad( int e)
{
edad = e;
}
public string daNombre( )
{
return nombre;
}
public int daEdad( )
{
return edad ;
}
}
public class Principal
{
public static void Main( )
{
Persona p = new Persona( ) ; // Se invoca al constructor
//predeterminado.
p.asignaNombre("Luis");
p.asignaEdad(25);
C.WriteLine("Nombre: {0} , Edad: {1}", p.daNombre(),
p.daEdad());
}
}
Específica el tipo de acceso permitido indicando que usuarios de la clase podrán acceder a ese método, los métodos son la única forma de acceso a los atributos privados. Por defecto los métodos tienen protección paquete, es decir son accesibles desde cualquier clase que pertenezca al mismo paquete. Todas las clases de un mismo fichero .java pertenecen a un mismo paquete.
Los parámetros de una función son variables locales que se inicializan en el momento de la llamada al método. Fuera de la función no se conocen y no pueden ser accedidas. Se crean al entrar en la función y se destruyen al salir de ella.
El paso de parámetros o argumentos a las funciones se puede hacer de dos formas.
Paso por valo y paso por referencia
En contraposición al constructor, el destructor elimina el vínculo y libera el espacio de memoria de un objeto, para que pueda ser ocupado nuevamente.
La sintaxis para declarar un destructor es:
[atributos] ~ <identificador> ( )
Una clase solamente puede tener un destructor.
Los destructores no pueden heredarse o sobrecargarse.
Los destructores no pueden invocarse, sino que son invocados automáticamente.
Un destructor no acepta modificadores ni parámetros.
Un método puede devolver un valor a quien lo llama o no devolver nada. El valor devuelto por un método puede ser de un tipo primitivo de datos o una referencia, pero nunca puede devolver más de un valor. El valor de retorno nunca puede ser un objeto de una superclase, sí de la misma clase o de una subclase. Si el método no devuelve nada el tipo devuelto por el método es el tipo void.