Menu
Coddy logo textTech

Propiedades autoimplementadas

Parte de la sección Programación Orientada a Objetos del Journey de C# de Coddy — lección 10 de 70.

Las propiedades autoimplementadas le permiten declarar propiedades sin escribir campos de respaldo explícitos. El compilador crea un campo privado oculto automáticamente en segundo plano.

En lugar de escribir este código tan extenso:

public class Product
{
    private string name;
    
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
}

Simplemente puedes escribir:

public class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
    public int Quantity { get; set; }
}

También puedes establecer valores predeterminados directamente en la declaración:

public class Product
{
    public string Name { get; set; } = "Unnamed";
    public decimal Price { get; set; } = 0.0m;
    public bool IsAvailable { get; set; } = true;
}

Las propiedades autoimplementadas son ideales cuando no se necesita validación ni lógica personalizada en el getter o setter. Mantienen las clases limpias y reducen significativamente el código repetitivo (boilerplate).

challenge icon

Desafío

Fácil

Vamos a construir un sistema de inventario sencillo utilizando propiedades autoimplementadas para realizar un seguimiento de los artículos en una tienda.

Crearás dos archivos para organizar tu código:

  • Item.cs: Define una clase Item en el espacio de nombres Inventory con propiedades autoimplementadas para Name (string), Price (decimal) e InStock (bool). Establece valores predeterminados: Name debe ser por defecto "Unknown", Price a 0.0m e InStock a true.
  • Program.cs: En tu archivo principal, crea dos objetos Item utilizando inicializadores de objetos. Lee el nombre y el precio de cada artículo desde la entrada, luego imprime los detalles de cada artículo.

Recibirás cuatro entradas:

  • Nombre del primer artículo
  • Precio del primer artículo
  • Nombre del segundo artículo
  • Precio del segundo artículo

Imprime cada artículo en este formato:

Item: {Name}, Price: {Price}, In Stock: {InStock}

Por ejemplo, si las entradas son Laptop, 999.99, Mouse y 25.50, la salida debería ser:

Item: Laptop, Price: 999.99, In Stock: True
Item: Mouse, Price: 25.50, In Stock: True

Hoja de referencia

Las propiedades autoimplementadas le permiten declarar propiedades sin escribir campos de respaldo explícitos. El compilador crea automáticamente un campo privado oculto.

Sintaxis básica:

public class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
    public int Quantity { get; set; }
}

Establecer valores predeterminados:

public class Product
{
    public string Name { get; set; } = "Unnamed";
    public decimal Price { get; set; } = 0.0m;
    public bool IsAvailable { get; set; } = true;
}

Las propiedades autoimplementadas son ideales cuando no se necesita validación o lógica personalizada en el getter o setter.

Pruébalo tú mismo

using System;
using Inventory;

class Program
{
    public static void Main(string[] args)
    {
        // Leer entradas para el primer artículo
        string name1 = Console.ReadLine();
        decimal price1 = Convert.ToDecimal(Console.ReadLine());
        
        // Leer entradas para el segundo artículo
        string name2 = Console.ReadLine();
        decimal price2 = Convert.ToDecimal(Console.ReadLine());
        
        // TODO: Crear dos objetos Item usando inicializadores de objetos
        // Establecer las propiedades Name y Price a partir de los valores de entrada
        
        // TODO: Imprimir los detalles de cada artículo en el formato:
        // Item: {Name}, Price: {Price}, In Stock: {InStock}
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos