Sunteți pe pagina 1din 32

Methods

The Structure of a Method

Formato de la Method header

Ejemplo:

Code Execution in the Method Body


El cuerpo del method puede contener los siguientes items:

Local variables Flow-of-control constructs Method invocations Blocks nested within it


Ejemplo:

Local Variables
Mientras que los campos suelen almacenar datos sobre el estado de la objetos, las variables locales se crean generalmente para almacenar datos de computaciones locales, o transitorios

La siguiente tabla compara y contrasta las variables locales y campos de instancia

Instance Field Tiempo de vida Inicia cuando se crea la instancia Acaba cuando la instancia ya no es accesible

Local Variable Se inicia en el punto del bloque en el que se declara. Acaba cuando el bloque completa su ejecucin. No inicializacin implcita. El compilador produce un mensaje de error si la variable no est asignada ante de su uso Tipo de valor: Se guarda en la pila. Tipo de referencia: Referencia almacenada en la pila, y los datos almacenados en la heap

inicializacin implcita

Inicializado a un valor predeterminado para el tipo

rea de almacenamiento

Todos los campos de una clase se almacenan en la heap, independientemente de si son tipos de valor o tipos de referencia.

La siguiente lnea de cdigo muestra la sintaxis de las declaraciones de variables locales

El siguiente ejemplo muestra la declaracin y uso de dos variables locales. La primera es de tipo int y el segundo es de tipo SomeClass

Type Inference and the var Keyword


Si nos fijamos en el siguiente cdigo, ver que cuando se proporciona el nombre del tipo al comienzo de la declaracin, se est proporcionando informacin que el compilador ya debera ser capaz de deducir de la parte derecha de la inicializacin.

Por lo tanto, en ambos casos, incluyendo el nombre del tipo explcita al principio de la declaracin es redundante.

A partir de C # 3.0 ahora se puede utilizar la nueva palabra clave var en lugar del nombre de tipo al principio de la declaracin de variables, de la siguiente manera:

La palabra clave var no es seal de un tipo especial de variable. Es slo una abreviatura sintctica para cualquier tipo que se puede inferir de la inicializacin en el lado derecho

Algunas condiciones importantes sobre el uso de la palabra clave var son los siguientes: Slo se puede utilizar con las variables locales-no de campos. Slo se puede utilizar cuando la declaracin de variables incluye una inicializacin. Una vez que el compilador infiere el tipo, este queda fijo y no puede cambiarse

Local Variables Inside Nested Blocks


El cuerpo de los mtodos puede tener otros bloques anidados dentro de ellos Puede haber cualquier nmero de bloques, y pueden ser secuenciales o mas anidados. Los bloques se pueden anidar hasta cualquier nivel

Las variables locales pueden ser declaradas dentro de bloques anidados, y al igual que todas las variables locales, su vida se limita al bloque en el que se declaran y los bloques anidados dentro de ella

Local Constants
Una constante local es muy similar a una variable local, excepto que una vez que se inicializa, su valor no se puede cambiar. Al igual que una variable local, una constante local debe ser declarado dentro de un bloque Las dos caractersticas ms importantes de una constante son los siguientes: Una constante se debe inicializar en su declaracin. Una constante no se puede cambiar despus de su declaracin. La sintaxis es la misma que la de un campo o una declaracin de variable, excepto por lo siguiente: La adicin de la palabra clave const delante del tipo. La inicializacin obligatoria. El valor de inicializacin debe ser determinable en tiempo de compilacin, y suele ser uno de los tipos simples predefinidos o una expresin formada por ellos. Tambin puede ser la referencia nula, pero no puede ser una referencia a un objeto, por referencias a objetos se determinan en tiempo de ejecucin

La palabra clave const no es un modificador, sino que forma parte de la declaracin de ncleo. Debe ser colocado inmediatamente antes del tipo.

Una constante local, como una variable local, se declara en el cuerpo de un mtodo o bloque de cdigo, y es valido hasta el final del bloque en el que se declara

Llamadas de mtodos
Usted puede llamar a otros mtodos desde dentro de un cuerpo de mtodo. Las frases llaman un mtodo e invocar un mtodo son sinnimos. Se llama a un mtodo mediante el uso de su nombre, junto con la lista de parmetros,

1. La ejecucin del mtodo actual suspende en ese punto de la invocacin. 2. Transfiere el control al comienzo del mtodo invocado. 3. El mtodo invocado ejecuta hasta que se complete. 4. Se devuelve el control al mtodo de llamada.

Return Values
Un mtodo puede devolver un valor al cdigo de llamada. El valor devuelto se inserta en el cdigo de llamada en la posicin en la expresin donde se produjo la invocacin. Para devolver un valor, el mtodo debe declarar el tipo de retorno antes de que el nombre del mtodo. Si un mtodo no devuelve un valor, ste debe declarar un tipo de valor devuelto void.

Un mtodo que declara un tipo de retorno debe devolver un valor desde el mtodo mediante la estructura de la sentencia de return, la cual incluye una expresin despus de la palabra clave return. Cada camino a travs del mtodo debe terminar con una sentencia de retorno

Ejemplo

Tambin puede devolver objetos de tipos definidos por el usuario

Parameters
Devolver un valor nico es ciertamente valioso, pero qu si es necesario devolver mltiples valores? Adems, sera til ser capaz de pasar datos a un mtodo cuando se inicia la ejecucin. Los parmetros son variables especiales que le permiten hacer ambas cosas

Formal Parameters
Los parmetros formales son variables locales que se declaran en la lista de parmetros del mtodo, en lugar de en el cuerpo del mtodo.

Los parmetros formales se utilizan en todo el cuerpo del mtodo, en su mayor parte, al igual que otras variables locales.

Actual Parameters
Cuando el cdigo llama a un mtodo, los valores de los parmetros formales se deben inicializar antes de que el cdigo del mtodo comienza la ejecucin.

Cuando se llama a un mtodo, lo siguiente debe ser verdad: El nmero de parmetros actuales debe ser el mismo que el nmero de parmetros formales . Cada parmetro actual debe coincidir con el tipo de parmetro formal correspondiente

Value Parameters (parmetro por valor)


Al utilizar los parmetros de valor, los datos se pasa al mtodo copiando el valor de el parmetro actual al parmetro formal. Cuando se llama a un mtodo, el sistema realiza lo siguiente: Asigna espacio en la pila para el parmetro formal Copia del parmetro actual al parmetro formal Un parmetro actual para un parmetro de valor no tiene que ser una variable. Puede ser cualquier expresin con una evaluacin a tipo de datos correspondiente.

S-ar putea să vă placă și