Está en la página 1de 2

Llamada al primer mtodo que devuelve el doble del nmero:

CODIGO C# this.MultiplicarNumero(12) Devuelve 24 CODIGO VB Me.MultiplicarNumero(12) Devuelve 24


Llamada al segundo mtodo que devuelve el nmero por un multiplicador:

CODIGO C# this.MultiplicarNumero(5, 3) Devuelve 15 CODIGO VB Me.MultiplicarNumero(5, 3) Devuelve 15

Mtodos de clase (static o Shared)


De la misma forma que existen mtodos de objeto, puede tambin haber mtodos que no acten sobre objetos concretos a travs del operador punto. A estos mtodos se les llama mtodos de clase o static.

Los mtodos de clase pueden recibir objetos de su clase como argumentos explcitos, pero no tienen argumento implcito ni pueden utilizar la referencia this ni Me. Un ejemplo tpico de mtodos static son los mtodos matemticos de la clase Math (sin(), cos(), abs(), pow(), etc.). El argumento de estos mtodos ser de un tipo primitivo y se le pasar como argumento explcito. Estos mtodos no tienen sentido como mtodos de objeto.
Los mtodos y variables de clase se crean anteponiendo la palabra static o Shared, igual que hemos visto que sucede con las variables miembro de una clase. Para llamarlos se suele utilizar el nombre de la clase, en lugar del nombre de un objeto de la clase (por ejemplo, Math.sin(ang), para calcular el seno de un ngulo).

Los mtodos estticos se llaman desde la clase y no desde el objeto creado. veamos la diferencia desde la prctica.
Nos creamos un botn en un formulario y escribamos el siguiente cdigo:

Por ejemplo,

CODIGO C# private void button1_Click_1(object sender, EventArgs e) { //LLAMADA A METODO STATIC MessageBox.Show(DateTime.IsLeapYear(2010).ToString()); //CREACION DE UN OBJETO DATETIME DateTime fecha = DateTime.Now; //LLAMADA A METODO DE OBJETO

25

MessageBox.Show(fecha.ToLongDateString()); } CODIGO VB Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'LLAMADA A METODO STATIC MessageBox.Show(DateTime.IsLeapYear(2010).ToString()) 'CREACION DE UN OBJETO DATETIME Dim fecha As DateTime = DateTime.Now 'LLAMADA A METODO DE OBJETO MessageBox.Show(fecha.ToLongDateString()) End Sub
Como podemos visualizar en el cdigo, el mtodo IsLeapYear es un mtodo static o Shared que no necesita ningn objeto para devolver un valor, utiliza el argumento del mtodo (2010) para devolver si un ao es bisiesto o no. El mtodo ToLongDateString() es un mtodo de objeto que necesita una fecha para trabajar y devolver el valor de la fecha en formato largo.

Propiedades de objeto
Una clase es una agrupacin de datos (miembros o campos) y de funciones (mtodos) que operan sobre esos datos. La definicin de una clase se hace de la siguiente forma:

CODIGO C# public class NombreClase { // definicin de variables y mtodos } CODIGO VB Public Class NombreClase definicin de variables y mtodos End Class
La palabra public es opcional, si no se pone, la clase tiene la visibilidad por defecto, que en el caso de Visual Studio Net 2010 es private. Todos los mtodos y variables deben ser definidos dentro de las llaves bloque {...} de la clase o dentro de Public Class y End Class, dependiendo del lenguaje que estemos utilizando. Un objeto es un elemento concreto para usar de una clase. Las clases son la definicin de los elementos de un objeto, mientras que los objetos son variables concretas de un tipo determinado de una clase.

26