Creación de Clases y Objetos en .NET con Visual Studio Code

Clase 9 de 32Fundamentos de C# con NET Core 2.1

Resumen

Aprende, paso a paso, a construir una app de consola en .NET, definir una clase en C#, crear atributos y métodos, controlar modificadores de acceso y usar la clase Console para escribir texto y emitir un timbre. Del Hello World a un comportamiento real, todo dentro de Visual Studio Code y con comandos de .NET.

¿Cómo crear un proyecto .NET y verificar Hello World?

Primero, abre la terminal en el directorio elegido y genera una app de consola. Al ejecutarla, confirmas que el punto de partida funciona antes de programar la lógica de negocio.

# crear la app de consola
dotnet new console

# ejecutar y validar salida
dotnet run
  • Se sugiere abrir el folder en Visual Studio Code y crear una nueva terminal.
  • Al correr, verás Hello World u “Hola, mundo”. Si aparece, todo está listo.

¿Qué archivos crea dotnet new console?

  • Un archivo de proyecto (.csproj) con el framework y tipo de salida configurados.
  • Program.cs con el mínimo para imprimir Hello World.
  • Carpeta obj con artefactos de compilación.
  • Carpeta .vscode al aceptar configuraciones de depuración.

¿Qué es una clase y cómo definir atributos y métodos en C#?

Una clase es la plantilla de un objeto. Aquí se definen sus atributos (campos) y métodos (acciones). Por convención, el método main es el punto de entrada en apps de consola.

class Escuela
{
    // atributos públicos para poder modificarlos fuera de la clase
    public string nombre;
    public string dirección;
    public int añoFundación;
    public string CEO; // opcional: se puede asignar luego

    // método: acción que no devuelve valor
    public void timbrar()
    {
        // comentarios con // no se ejecutan
        // timbre a 10000 Hz durante 3000 ms
        Console.Beep(10000, 3000);
    }
}

¿Cómo definir atributos y comentarios en C#?

  • Usa tipos de datos: string para texto y int para enteros.
  • Nombra campos como nombre, dirección, añoFundación.
  • Escribe comentarios con // para marcar ideas o tareas pendientes.
  • Puedes asignar valores por defecto dentro de la clase o más tarde al instanciar.

¿Cómo crear acciones con Console.Beep?

  • Emplea Console.Beep(frecuencia, duración) para un timbre simple.
  • Frecuencia en hertz y duración en milisegundos.
  • Si no expones el método, márcalo public para llamarlo desde fuera.

¿Cómo instanciar un objeto y usar sus miembros públicos?

Para que el programa haga algo real, crea una instancia, asigna valores a los campos públicos y llama a sus métodos desde main.

class Program
{
    static void Main(string[] args)
    {
        // Console.WriteLine("Hola, mundo"); // comentado para empezar con la lógica

        var miEscuela = new Escuela();
        miEscuela.nombre = "Platzi Academy";
        miEscuela.dirección = "Bogotá, carrera novena con calle 72";
        miEscuela.añoFundación = 2012;
        // miEscuela.CEO = "Freddie Vega"; // opcional

        Console.WriteLine("timbre");
        miEscuela.timbrar();
    }
}

¿Por qué no timbra al ejecutar y cómo solucionarlo?

  • Definir la clase no basta: debes crear el objeto con new.
  • Si los campos o métodos no aparecen, revisa los modificadores de acceso. Pasa de private/protected a public cuando necesites accederlos fuera de la clase.
  • Llama explícitamente al método timbrar para oír el beep.

¿Qué conceptos y habilidades clave practicaste?

  • Clase y objeto: plantilla vs. instancia concreta.
  • Estructura básica: atributos y métodos en C#.
  • main: punto de entrada en consola por convención.
  • Modificadores de acceso: private, protected y public.
  • Atributos/campos: texto con string y números con int.
  • Comentarios con // para documentación y tareas.
  • Console.WriteLine para imprimir texto.
  • Console.Beep para acciones con efectos perceptibles.
  • Instanciación con new y asignación de valores.

¿Te gustaría compartir cómo nombrarías más métodos para la escuela, como iniciar jornada o cerrar jornada? Escribe tus ideas y mejoras en los comentarios.