csharp-clases

Qué son y cómo usar clases en C#

Una clase en C# es un tipo de dato que define un conjunto de campos, propiedades, métodos y eventos que representan un concepto o entidad en el mundo real.

Las clases proporcionan una plantilla para crear instancias de la clase. Cada instancia tiene su propio estado (almacenado en campos) y comportamiento (definido en métodos).

Las clases nos permiten encapsular datos y funcionalidades relacionadas en una sola entidad, lo que facilita la reutilización de código y el mantenimiento de nuestras aplicaciones. Son la base de la programación orientada a objetos.

Clases en C#

La sintaxis básica para definir una clase en C# es la siguiente,

[modificador] class NombreDeLaClase
{
    // Definición de campos
    [modificador] tipoDeDato nombreDelCampo;

    // Definición de propiedades
    [modificador] tipoDeDato nombreDeLaPropiedad { get; set; }

    // Definición de métodos
    [modificador] tipoDeRetorno nombreDelMetodo(parametros)
    {
        // Código del método
    }
}
  • NombreDeLaClase: Es el nombre único que se le da a la clase.
  • Modificador: Puede ser public, private, protected, entre otros, para definir el nivel de acceso de la clase, campos, propiedades y métodos.
  • tipoDeDato: Especifica el tipo de datos de los campos y propiedades.
  • nombreDelCampo, nombreDeLaPropiedad, nombreDelMetodo: Son los identificadores únicos de los campos, propiedades y métodos, respectivamente.
  • tipoDeRetorno: Especifica el tipo de datos que el método devuelve como resultado.
  • parametros: Son las variables que se utilizan para pasar información al método cuando se llama.

Las clases se pueden definir en cualquier parte del código, pero es común que se defina dentro de un archivo separado con la extensión .cs.

Composición de una clase en C#

Una clase en C# está compuesta por tres elementos principales: los campos, las propiedades y los métodos.

Persona
  • stringfechaNacimiento
  • stringdni
  • stringNombre
  • stringApellido
  • stringSaludar()
  • stringMandarEmail()

Los campos representan las variables o datos que forman parte de una clase. Estos pueden ser de diferentes tipos, como enteros, cadenas de texto, booleanos, etc. Los campos son la forma en la que almacenamos información dentro de una clase y nos permiten manipularla según nuestras necesidades.

Las propiedades son una forma de acceder y modificar los campos de una clase. Nos permiten establecer reglas y validaciones para el acceso a los datos, evitando cambios no deseados o incorrectos. Las propiedades son una capa de abstracción que nos facilita el manejo de los campos y nos brinda flexibilidad en la forma en que interactuamos con ellos.

Los métodos son las acciones o comportamientos que puede realizar una clase. Estos pueden ser funciones que devuelven un valor o procedimientos que no retornan nada. Los métodos nos permiten modularizar el código y dividir las tareas en partes más pequeñas y manejables.

Ejemplo básico

Para crear una clase en C#, utilizamos la palabra clave class seguida del nombre que le queramos dar a nuestra clase. Veamos un ejemplo:

public class Persona
{
    // Campos
    public int dni;
    private DateTime fechaNacimiento;
    
	// Propiedades
    public string Nombre { get; set; }
    private string Apellido { get; set; }   

    // Métodos
    public void Saludar()
    {
        Console.WriteLine("¡Hola!");
    }  
}

En este ejemplo hemos:

  • Declaración de la Clase
  • Creado campos, dni público y fechaNacimiento privado.
  • Defindo propiedades Nombre público y Apellido privado.
  • Definido un método Saludar().

Uso de clases

Creación de objetos

Para crear un objeto de una clase, se utiliza el operador new seguido del nombre de la clase y, opcionalmente, argumentos para el constructor si lo tiene.

Persona persona = new Persona("Luis", 25);

Acceso a campos y propiedades

Los campos y propiedades de una clase se acceden utilizando la notación de punto (.).

Console.WriteLine(persona.nombre);

Llamado de métodos

Los métodos de una clase se llaman utilizando la notación de punto (.).

persona.Saludar();

Ejemplos prácticos