Campos, propiedades automáticas e inicializadores de objetos
Defina campos y propiedades automáticas, y cree objetos con inicializadores de objetos concisos.
Campos, propiedades automáticas e inicializadores de objetos es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 3 lecciones en total.
Descripción general de las clases
Objetivo: crear clases sencillas.
- Campos contienen datos sin procesar
- Propiedades automáticas exponen los datos de forma clara
- Inicializadores de objetos establecen valores al crearlos
Campos en una clase
Los campos son variables dentro de una clase. Para los datos públicos, las propiedades son más seguras.
using System;
// Fields store raw data inside a class
public class Player
{
public string name; // field (usually prefer properties for public APIs)
public int level;
}
public class Program
{
public static void Main(string[] args)
{
Player p = new Player();
p.name = "Ada";
p.level = 1;
Console.WriteLine("Player " + p.name + " level " + p.level);
}
}
Propiedades automáticas
Las propiedades automáticas exponen datos mediante get/set sin tener que escribir un campo. Puede establecer valores predeterminados sencillos.
using System;
// Auto-properties generate a hidden backing field
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
public int Pages { get; set; } = 0; // auto-property initializer (C# 6)
}
public class Program
{
public static void Main(string[] args)
{
Book b = new Book();
b.Title = "Clean Code";
b.Author = "Robert C. Martin";
b.Pages = 464;
Console.WriteLine(b.Title + " by " + b.Author + " (" + b.Pages + " pages)");
}
}
Inicializadores de objetos
Los inicializadores de objetos establecen las propiedades al crear el objeto, lo que mantiene el código breve y claro.
using System;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
// Object initializer calls set-accessors after construction
Person p = new Person { Name = "Alan", Age = 30 };
Console.WriteLine(p.Name + " (" + p.Age + ")");
}
}
Campos frente a propiedades
Pauta:
- Use campos privados para el almacenamiento interno.
- Exponga propiedades públicas para poder añadir validación más adelante sin afectar a los llamadores.
- Mantenga los nombres claros y sencillos.
Campos y propiedades juntos
Combine un campo privado con una propiedad para controlar las escrituras (invariantes sencillas).
using System;
// Private fields + public properties pattern
public class Product
{
private int _stock; // field (internal storage)
public string Name { get; set; } // property (public API)
public int Stock // property with simple guard
{
get { return _stock; }
set
{
if (value < 0) value = 0; // simple safety for beginners
_stock = value;
}
}
}
public class Program
{
public static void Main(string[] args)
{
Product p = new Product { Name = "Pen", Stock = 5 };
p.Stock = -3; // setter clamps to 0
Console.WriteLine(p.Name + " stock = " + p.Stock);
}
}
Concepto de propiedad automática
Repaso
Repaso: defina los datos con campos y expóngalos mediante propiedades automáticas. Use inicializadores de objetos para establecer valores al crear el objeto.
Preguntas frecuentes
¿La lección «Campos, propiedades automáticas e inicializadores de objetos» es gratis?
Sí — el texto completo de «Campos, propiedades automáticas e inicializadores de objetos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Campos, propiedades automáticas e inicializadores de objetos»?
Defina campos y propiedades automáticas, y cree objetos con inicializadores de objetos concisos. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.
¿Cuánto tiempo toma la lección «Campos, propiedades automáticas e inicializadores de objetos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Campos, propiedades automáticas e inicializadores de objetos
- Constructores y miembros estáticos
- Encapsulación e invariantes