Crea clase Escuela con propiedades en C#

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

Resumen

Aprende a crear una solución .NET ordenada y profesional con C# paso a paso: desde el proyecto de consola hasta una clase Escuela bien diseñada con encapsulamiento, propiedades y constructor. Verás atajos útiles de Visual Studio Code, convenciones y pequeñas decisiones que hacen tu código más mantenible.

¿Cómo iniciar un proyecto .NET consola con Visual Studio Code?

Crear la base correcta facilita todo. Se parte de un folder y se verifica cada paso para evitar errores.

  • Crear carpeta etapa uno y abrir en VS Code.
  • Inicializar una app de consola con .NET.
  • Ejecutar para ver el Hola Mundo.
  • Mantener orden: carpeta Entidades para clases del dominio.

¿Qué comandos usar en la terminal?

dotnet new console dotnet run
  • Verifica que “Hola Mundo” se ejecute bien.
  • Usa la terminal integrada de VS Code.
  • Cada instrucción en C# finaliza con punto y coma.

¿Qué es el encapsulamiento en C# y cómo usar propiedades?

La clase Escuela modela el dominio y protege sus datos. En lugar de exponer campos públicos, se usan propiedades con get y set. Así podrás agregar lógica sin romper otras partes del código.

¿Cómo se define una propiedad con get y set?

  • Un campo privado guarda el dato.
  • Una propiedad pública controla lectura y escritura.
  • Se aplican convenciones: campo en minúscula; propiedad en PascalCase.
namespace CoreEscuela.Entidades { public class Escuela { // Campo privado (atributo). private string nombre; // Propiedad con lógica de negocio. public string Nombre { get { return "copia " + nombre; } // Antecede "copia ". set { nombre = value.ToUpper(); } // Fuerza mayúsculas. } // Propiedad autoimplementada (atajo get; set;). public int AñoDeCreación { get; set; } // Otras propiedades del dominio. public string País { get; set; } // Ejemplo estilo propfull: propiedad con campo de respaldo. private string ciudad; public string Ciudad { get { return ciudad; } set { ciudad = value; } } } }
  • Conceptos clave: atributo/campo, propiedad, get, set, convención de nombres, shortcut de auto-propiedad.
  • Beneficio: puedes agregar validaciones, auditorías o transformaciones cuando leas/escribas.

¿Cómo crear auto-propiedades rápido con los atajos de VS Code?

  • Escribe prop y tabulador: crea tipo, nombre y { get; set; }.
  • Escribe propfull y tabulador: crea campo privado + propiedad completa.
  • Útiles para acelerar código repetitivo.

¿Cómo definir un constructor y asignar propiedades con tuplas?

El constructor obliga a crear objetos válidos desde el inicio. Puedes exigir parámetros mínimos, como nombre y año de creación.

¿Cómo funciona el constructor y la palabra clave this?

  • Si parámetro y campo se llaman igual, usa this para referirte al miembro de la clase.
  • Así evitas ambigüedad y asignas con claridad.
public class Escuela { private string nombre; public string Nombre { get { return "copia " + nombre; } set { nombre = value.ToUpper(); } } public int AñoDeCreación { get; set; } public string País { get; set; } public string Ciudad { get; set; } // Constructor clásico. public Escuela(string nombre, int año) { this.Nombre = nombre; this.AñoDeCreación = año; País = "Colombia"; Ciudad = "Bogotá"; } }
  • Ventaja: garantiza datos mínimos y consistentes.
  • Puedes asignar valores por defecto a otras propiedades.

¿Cómo usar asignación por tuplas en el constructor?

  • Versión corta: asigna varias propiedades en una sola línea.
  • Limpia, legible y mantiene la intención.
public Escuela(string nombre, int año) => (Nombre, AñoDeCreación) = (nombre, año);

Ejemplo de uso desde Program:

var escuela = new Escuela("Platzi Academy", 2012) { País = "Colombia", Ciudad = "Bogotá" }; Console.WriteLine(escuela.Nombre); // Salida: "copia PLATZI ACADEMY"

¿Te quedó alguna duda sobre propiedades, get/set o constructores? Cuéntame en un comentario qué parte quieres practicar más o qué caso real de tu proyecto te gustaría modelar.