Cómo definir y utilizar propiedades en Visual C#

Resumen

En este artículo paso a paso se muestra cómo definir y utilizar propiedades en una aplicación de Visual C#.


Un objetivo importante de muchos lenguajes de programación orientados a objetos es permitirle encapsular los detalles internos en una clase. C# Visual le permite definir propiedades para proporcionar acceso controlado a los detalles internos en una clase.


Puede ser una propiedad de sólo lectura, sólo escritura o de lectura y escritura. Un descriptor de acceso get proporciona acceso de lectura y un descriptor de acceso set proporciona acceso de escritura. Puede agregar código a estos descriptores de acceso para proporcionar la funcionalidad adecuada para obtener o establecer la propiedad.

En este artículo, cree una clase llamada Employee. Dentro de esta clase define una propiedad de lectura y escritura para el nombre del empleado, una propiedad para leer el sueldo del empleado y una propiedad para calcular cuánto tiempo ha trabajado el empleado de la empresa. Después creará un objeto Employee en la aplicación y utilizará sus propiedades.

Requisitos

La lista siguiente describe el hardware recomendado, software, infraestructura de red y service packs que se necesitan:
  • Microsoft Visual Studio .NET o Microsoft Visual Studio 2005
En este artículo se supone que está familiarizado con los temas siguientes:

  • Sintaxis de Visual C#
  • Conceptos orientados a objetos

Crear una aplicación que contiene una clase de .NET de Visual C#

  1. Inicie Visual Studio .NET o Visual Studio 2005 y cree un nuevo proyecto de aplicación de consola de Visual C# llamado EmployeeProperties. Se crea Class1.cs de forma predeterminada en Visual Studio .NET. Program.cs se crea en Visual Studio 2005.
  2. Cambie el nombre Class1.cs o Program.cs Employeeapp.cs.
  3. En el menú proyecto , haga clic en Agregar clase. En el cuadro de diálogo Agregar nuevo elemento , escriba Employee.cs en el cuadro de texto nombre y, a continuación, haga clic en Abrir.

Definir campos, constructores y métodos

  1. Agregue tres campos Private a la clase Employee , como sigue:
    private string Name;private decimal Salary;
    private DateTime Hiredate;

  2. Definir un constructor para la clase inicializar los campos de la clase Employee , como sigue:
    public Employee(string Name, decimal Salary, DateTime Hiredate){
    this.Name = Name;
    this.Salary = Salary;
    this.Hiredate = Hiredate;
    }

  3. Agregue un método público a la clase, como sigue:
    public void PayRise(decimal Amount){
    this.Salary += Amount;
    }

Definir las propiedades de la clase

  1. Agregue el código siguiente para agregar una propiedad de lectura y escritura denominada FullName. El descriptor de acceso get devuelve el nombre del empleado. El descriptor de acceso set utiliza un parámetro implícito denominado valor que se pasa en el descriptor de acceso set para establecer el nombre del empleado.
    public string FullName{
    get
    {
    return this.Name;
    }
    set
    {
    this.Name = value;
    }
    }

  2. Agregue el código siguiente para agregar una propiedad de sólo lectura denominada remuneración. El descriptor de acceso get devuelve el sueldo del empleado. No hay ningún descriptor de acceso set porque el sueldo no se puede establecer directamente; la única forma de cambiar el sueldo es llamar al método PayRise .
    public decimal Remuneration{
    get
    {
    return this.Salary;
    }
    }

  3. Agregue el código siguiente para agregar otra propiedad de sólo lectura denominada DaysSinceJoined. El descriptor de acceso get calcula cuántos días ha trabajado el empleado de la empresa.
    public int DaysSinceJoined{
    get
    {
    TimeSpan Timespan = DateTime.Now.Subtract(Hiredate);
    return Timespan.Days;
    }
    }

Crear un objeto y utilizar las propiedades

  1. Muestre el código de Employeeapp.cs en la ventana Vista de código.
  2. En el método Main , utilice el operador new para crear un objeto Employee . Asigne la referencia de objeto a una variable local del empleado , como sigue:
    Employee worker = new Employee("Jayne Doe",125000, new DateTime(1998,7,31));
  3. Agregue el código siguiente para cambiar la propiedad FullName del empleado. Esto invoca implícitamente el descriptor de acceso set para la propiedad FullName :
    worker.FullName = "Jayne Lafayette";
  4. Agregue el código siguiente para mostrar los detalles del empleado mediante los descriptores de acceso get para las propiedades FullName, Remunerationy DaysSinceJoined :
    Console.WriteLine("Full name: {0}",worker.FullName);Console.WriteLine("Remuneration: {0}",worker.Remuneration);
    Console.WriteLine("Days since joined: {0}",worker.DaysSinceJoined);

Probar la aplicación

  1. Genere y ejecute la aplicación.
  2. La aplicación muestra la siguiente información en la consola (el valor de "días trabajados" depende de la fecha actual):
    Full name: Jayne Lafayette
    Remuneration: 125000
    Days since joined: 1139

  3. Vuelva al archivo Employeeapp.cs en la ventana Ver código y agregue el código siguiente al final del método Main :
    worker.Remuneration = 100000;
  4. Pruebe a generar la aplicación. Recibe un error de compilación porque Remuneration es una propiedad de sólo lectura.
  5. Cambie la declaración de la siguiente manera:
    worker.Salary = 100000;
  6. Pruebe a generar de nuevo la aplicación. Aparecerá otro error de compilación porque el campo Salary está marcado como privado. La única forma de modificar el sueldo del empleado es utilizar el método PayRise público.
Propiedades

Id. de artículo: 319265 - Última revisión: 9 ene. 2017 - Revisión: 1

Comentarios