Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading content…
Loading…
Transcript

Métodos en POO

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

Constructor

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;

}

}

Constructores y

destructores

Public

Accesible desde cualquier otra clase.

Package

Accesible sólo desde el mismo paquete.

Protected

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.

Aplicaciones

Prívate

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.

Declaración o cabecera

// 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.

Paso de parámetros

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

Destructor

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> ( )

Retorno de valores

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.

Learn more about creating dynamic, engaging presentations with Prezi