Cargando...

Clases

Una clase es un tipo con nombre que declares con class. Pon public class Badge en el mismo archivo de enseñanza que Pine, o mantenlo como un segundo tipo junto a Pine. Dentro de Badge escribe un método static corto llamado show que escriba ready. En Pine, conserva Main y llama Badge.show();. Ejecuta con dotnet run. La pantalla debería mostrar una línea: ready. Aquí no cuentas hacia atrás con recursión. Estás nombrando un segundo tipo y pidiendo que su método escriba. Ese segundo tipo nombrado — una clase que no es solo la clase que arranca — es lo que enseña esta página. Mantén el nombre de la clase pública de inicio Pine.

El tipo se sienta junto al iniciador

Hasta las páginas de métodos, casi cada demo guardaba Main y los métodos auxiliares dentro de una sola clase pública llamada Pine. Eso sigue funcionando. Esta página añade a propósito una segunda clase. Badge es un nombre de tipo. No hace falta que sea el programa que arranca. Pine es el programa que arranca. En esta forma para principiantes ambos tipos pueden vivir en un archivo para que dotnet run siga siendo simple. Lo que importa es el nombre del tipo: Badge posee show, y Pine lo pide.
Abre el archivo Pine. El nombre de la clase de inicio sigue siendo Pine. Esta página no renombra el iniciador. Borra cualquier resto de recursión down si esa forma es todo lo que aún tienes en Main. Borra cualquier resto de mark. Borra cualquier línea ReadLine. El archivo que guardas no espera escritura.
Fuera de las llaves de Pine — todavía en el mismo archivo — escribe public class Badge. Dentro de Badge, escribe static void show(). El cuerpo es una línea de escritura: Console.WriteLine("ready");. Mantén void en esta página. El método no devuelve un número. Solo escribe una palabra. En esta página no hay Main dentro de Badge. Es intencional. Una clase puede guardar métodos sin ser la clase de inicio.
Guarda el archivo antes de ejecutar. El primer programa en caja muestra Badge solo para que leas el tipo con claridad. El segundo programa en caja es la forma completa que se guarda con Pine y Badge juntos.

Badge type with show

csharp
using System;

public class Badge
{
    static void show()
    {
        Console.WriteLine("ready");
    }
}

Pine arranca; Badge escribe

Pine conserva public static void Main(). Dentro de Main, escribe una llamada: Badge.show();. Esa llamada nombra el tipo Badge, un punto y luego el método show. No escribes show(); solo dentro de Pine a menos que show también viva en Pine. En esta página show pertenece a Badge, así que la llamada lleva el nombre del tipo.

Pine Main calls Badge.show

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Badge.show();
    }
}

public class Badge
{
    static void show()
    {
        Console.WriteLine("ready");
    }
}

Lee el archivo guardado desde arriba. using System; prepara nombres cortos. public class Pine es el iniciador. public static void Main() es donde arranca el tiempo de ejecución. La llamada Badge.show() entra en el método del tipo Badge. Ese método escribe ready y vuelve. Luego termina Pine. La palabra en la pantalla vino de Badge, no de un WriteLine escrito dentro del propio Pine. Esa separación es el punto: una clase arranca el programa; otra clase posee la ayuda.

Ejecútalo con dotnet run. El programa escribe una línea y para. No espera a que tú escribas. Si dotnet run espera, ReadLine sigue en el archivo. Borra esa línea y mantén Badge.show(); en Pine más el método show en Badge. La pantalla muestra ready. Si la pantalla muestra 3, luego 2, luego 1, aún corre una llamada sobrante down(3). Si la pantalla muestra las letras Badge, una línea de escritura tiene comillas: Console.WriteLine("Badge");. No reinstales el SDK de .NET por una pantalla que muestra la línea incorrecta.
Recorre la ejecución una vez más en orden. C# empieza en Pine.Main. La única sentencia allí es Badge.show();. Esa llamada salta al método show de Badge. Dentro de show, WriteLine escribe ready. Luego termina show y en Main no queda nada, así que el programa termina. En esta página no pusiste Console.WriteLine("ready"); dentro de Pine. Lo pusiste bajo Badge y lo pediste por el nombre del tipo.

Tipo junto a rol

Lee el emparejamiento una vez en una tabla pequeña. Cada clase tiene un trabajo en esta página.

📊 type beside role

Type Role on this page
Badge type that holds show
Pine program that holds Main

Una confusión común es escribir show(); dentro de Pine sin el prefijo Badge. cuando show solo existe en Badge. Entonces la compilación busca show dentro de Pine y no lo encuentra. Otra confusión es poner Main solo en Badge y quitarlo de Pine mientras aún esperas la forma antigua del iniciador — mantén Main en Pine para el archivo guardado de esta lección. Demos de recursión sobrantes pueden confundir Main. Deja Main en Badge.show(); mientras aprendes la forma de dos tipos. Aquí no necesitas down.
Escribir Console.WriteLine("Badge"); dentro de Pine escribe la palabra Badge. No llama al método del tipo. Mantén Badge.show(); cuando quieras la línea de escritura que vive en Badge.

Lo que esta página aún no hace

Esta página no escribe new Badge(). Crear un objeto a partir de una clase es la página siguiente. Aquí la llamada es Badge.show() — un método static sobre el propio nombre del tipo. Tampoco guardas campos en un badge todavía. Los campos esperan una página posterior de este módulo. El trabajo ahora es solo el tipo nombrado junto al iniciador, y una llamada que usa ese nombre de tipo.
Puedes cambiar la palabra escrita dentro de show a set y ejecutar de nuevo. La pantalla debería seguir la cadena que pusiste en Badge. Pine se queda con la misma llamada. Otra forma de ver la separación: edita el método del tipo, conserva la llamada del iniciador.
No anides Badge dentro de las llaves de Pine. En esta página las dos clases son hermanas en el archivo. Los métodos de Badge viven dentro de Badge. Main vive dentro de Pine.

Puedes declarar public class Badge, poner static void show() dentro y llamar Badge.show(); desde Pine.Main. Ejecuta con dotnet run. La pantalla muestra la línea que escribió show. Una clase es ese tipo con nombre. Piensa en Badge como un estante etiquetado para ayudas que no necesitan arrancar el programa. Pine sigue siendo la puerta que abres con dotnet run. La página siguiente es objects; allí construyes un valor a partir de una clase con new.

La pantalla guarda la línea de escritura de Badge

El archivo que guardas escribe ready cuando Main llama Badge.show();. El nombre Badge está en la llamada, y las letras Badge no aparecen en la pantalla como etiqueta impresa a menos que las hayas puesto entre comillas. Anidar Badge dentro de Pine no es la forma que construye esta lección.

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
5
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior