Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


7. Utilización avanzada de clases

7.1. La palabra static

Desde un principio, nos hemos encontrado con que "Main" siempre iba acompañado de la palabra "static". Lo mismo ocurría con las funciones que creamos en el tema 5. En cambio, los métodos (funciones) que pertenecen a nuestros objetos no los estamos declarando como "static". Vamos a ver el motivo:

// Ejemplo_07_01a.cs
// Métodos "static"
// Introducción a C#, por Nacho Cabanes

using System;

public class Hardware
{
    public static void BorrarPantalla()
    {
        for (byte i = 0; i < 25; i ++)
            Console.WriteLine();
    }
}

public class Ejemplo_07_01a
{
    public static void Main()
    {
        Console.WriteLine("Pulsa Intro para borrar");
        Console.ReadLine();
        Hardware.BorrarPantalla();
        Console.WriteLine("Borrado!");
    }
}

Desde una función "static" no se puede llamar a otras funciones que no lo sean. Por eso, como nuestro "Main" debe ser static, deberemos siempre elegir entre:

// Ejemplo_07_01b.cs
// Alternativa a 07_01a, sin métodos "static"
// Introducción a C#, por Nacho Cabanes

using System;

public class Hardware
{
    public void BorrarPantalla()
    {
        for (byte i = 0; i < 25; i ++)
            Console.WriteLine();
    }
}

public class Ejemplo_07_01b
{
    public static void Main()
    {
        Console.WriteLine("Pulsa Intro para borrar");
        Console.ReadLine();
        Hardware miPantalla = new Hardware();
        miPantalla.BorrarPantalla();
        Console.WriteLine("Borrado!");
    }
}

Ejercicios propuestos:

Ejercicio propuesto 7.1.1: Amplía el ejemplo 07_01a con un función "static" llamada "EscribirCentrado", que escriba centrado horizontalmente el texto que se le indique como parámetro.
Ejercicio propuesto 7.1.2: Amplía el ejemplo 07_01b con un función llamada "EscribirCentrado", que escriba centrado horizontalmente el texto que se le indique como parámetro. Al contrario que en el ejercicio 7.1.1, esta versión no será "static".
Ejercicio propuesto 7.1.3: Crea una nueva versión del ejercicio 5.2.3 (base de datos de ficheros, descompuesta en funciones), en la que los métodos y variables no sean "static".