Tutorial de clases y objetos de C# con ejemplos

โšก Resumen inteligente

Las clases y objetos de C# aportan una estructura orientada a objetos a las aplicaciones mediante la encapsulaciรณn.ping Propiedades y mรฉtodos de datos relacionados dentro de un รบnico plano. Cada objeto es una instancia de una clase que almacena sus propios valores para esas propiedades.

  • ๐Ÿ”ธ Clase: Una clase encapsula las propiedades de los datos y los mรฉtodos que operan sobre esos datos en una plantilla reutilizable.
  • ๐ŸŽฏ Objeto: Un objeto es una instancia en tiempo de ejecuciรณn de una clase que contiene valores concretos para sus propiedades.
  • ???? ๏ธ Creaciรณn: La nueva palabra clave instancia un objeto, como en Tutorial pTutor = new Tutorial(), asignรกndole memoria.
  • ๐Ÿงฑ Campos y mรฉtodos: Los campos almacenan el estado de un objeto, mientras que mรฉtodos como SetTutorial y GetTutorial definen su comportamiento.
  • ๐Ÿ” Encapsulaciรณn: Los modificadores de acceso, como pรบblico y privado, controlan a quรฉ campos y mรฉtodos externos al cรณdigo pueden acceder.
  • ๐Ÿค– Asistencia de IA: GitHub Copilot genera las definiciones de clases, mientras que ML.NET consume datos de objetos como caracterรญsticas para modelos de aprendizaje automรกtico.

Clase y objeto C#

C# se basa en el C++ lenguaje de programaciรณn. Por lo tanto, el lenguaje de programaciรณn C# tiene soporte incorporado para clases y objetos. Una clase no es mรกs que una encapsulaciรณn de propiedades y mรฉtodos que se utilizan para representar una entidad en tiempo real.

Por ejemplo, si desea trabajar con los datos de los empleados en una aplicaciรณn particular.

Las propiedades del empleado serรญan el DNI y nombre del empleado. Los mรฉtodos incluirรญan la entrada y modificaciรณn de datos de los empleados.

Todas estas operaciones se pueden representar como una clase en C#. En este capรญtulo, veremos con mรกs detalle cรณmo podemos trabajar con clases y objetos en C#.

ยฟQuรฉ es clase y objeto?

Primero comencemos con las clases.

Como comentamos anteriormente, las clases son una encapsulaciรณn de propiedades de los datos y mรฉtodos de datos.

  • Las propiedades se utilizan para describir los datos que contendrรก la clase.
  • Los mรฉtodos indican cuรกles son las operaciones que se pueden realizar con los datos.

Para comprender mejor la clase y los objetos, veamos un ejemplo a continuaciรณn de cรณmo se verรญa una clase.

El nombre de la clase es โ€œTutorialโ€. La clase tiene las siguientes propiedades

  1. ID del tutorial โ€“ Esto se utilizarรก para almacenar un nรบmero รบnico que representarรญa el Tutorial.
  2. Nombre del tutorial โ€“ Esto se utilizarรก para almacenar el nombre del tutorial como una cadena.

Una clase tambiรฉn consta de mรฉtodos. Nuestra clase tiene los siguientes mรฉtodos:

  1. ConjuntoTutorial โ€“ Este mรฉtodo se utilizarรญa para configurar el ID y el nombre del Tutorial. Entonces, por ejemplo, si quisiรฉramos crear un tutorial para .Net, podrรญamos crear un objeto para esto. El objeto tendrรญa un ID de digamos 1. En segundo lugar, asignarรญamos un nombre de ".Net" como nombre del Tutorial. El valor de ID de 1 y el nombre de ".Net" se almacenarรญan como una propiedad del objeto.
  2. ObtenerTutorial โ€“ Este mรฉtodo se utilizarรญa para obtener los detalles de un tutorial especรญfico. Por lo tanto, si quisiรฉramos obtener el nombre del tutorial, este mรฉtodo devolverรญa la cadena โ€œ.Netโ€.

Clase y objeto C#

A continuaciรณn se muestra una instantรกnea de cรณmo se verรญa un objeto para nuestra clase Tutorial. Tenemos 3 objetos, cada uno con su respectivo TutorialID y TutorialName.

Clase y objeto C#

Cรณmo crear una clase y un objeto

Profundicemos ahora en Visual Studio Para crear nuestra clase, nos basaremos en la aplicaciรณn de consola existente que creamos en el capรญtulo anterior. Crearemos una clase en Visual Studio para nuestra aplicaciรณn actual.

Sigamos los pasos que se mencionan a continuaciรณn para implementar este ejemplo.

Paso 1) El primer paso consiste en crear una nueva clase dentro de nuestra aplicaciรณn existente. Esto se hace con la ayuda de Visual Studio.

Crear una clase y un objeto

  1. El primer paso es hacer clic derecho sobre la soluciรณn, que en nuestro caso es โ€˜DemoApplicationโ€™. Esto abrirรก un menรบ contextual con una lista de opciones.
  2. En el menรบ contextual, elija la opciรณn Agregar->Clase. Esto proporcionarรก la opciรณn de agregar una clase al proyecto existente.

Paso 2) El siguiente paso es proporcionar un nombre para la clase y agregarlo a nuestra soluciรณn.

Crear una clase y un objeto

  1. En el cuadro de diรกlogo del proyecto, primero debemos proporcionar un nombre para nuestra clase. Vamos a darle a nuestra clase el nombre Tutorial.cs. Tenga en cuenta que el nombre del archivo debe terminar con .cs para garantizar que se lo considere un archivo de clase adecuado.
  2. Cuando hacemos clic en el botรณn Agregar, la clase se agregarรก a nuestra soluciรณn.

Si sigue los pasos anteriores, obtendrรก el siguiente resultado en Visual Studio.
Salida:-

Crear una clase y un objeto

Se agregarรก una clase denominada Tutorial.cs a la soluciรณn. Si abre el archivo, encontrarรก el siguiente cรณdigo agregado al archivo de clase.

Crear una clase y un objeto

Code Explicaciรณn:-

  1. La primera parte contiene los mรณdulos obligatorios que Visual Studio agrega a cualquier archivo .Net. Estos mรณdulos son siempre necesarios para garantizar que cualquier programa .Net se ejecute en un Windows ambiente.
  2. La segunda parte es la clase que se agrega al archivo. El nombre de la clase es "Tutorial" en nuestro caso. Este es el nombre que se especificรณ con la clase que se agregรณ a la soluciรณn.

Por el momento, nuestro archivo de clase no hace nada. En los siguientes temas, veremos mรกs detalles sobre cรณmo trabajar con la clase.

Campos y mรฉtodos

Ya hemos visto cรณmo se definen los campos y mรฉtodos en las clases en el tema anterior.

Para nuestra clase Tutorial, podemos tener las siguientes propiedades.

  1. ID del tutorial: se utilizarรก para almacenar un nรบmero รบnico que representarรญa el tutorial.
  2. Nombre del tutorial: se utilizarรก para almacenar el nombre del tutorial como cadena.

Nuestra clase Tutorial tambiรฉn puede tener los mรฉtodos que se mencionan a continuaciรณn.

  1. SetTutorial: este mรฉtodo se utilizarรญa para configurar el ID y el nombre del Tutorial.
  2. GetTutorial: este mรฉtodo se utilizarรญa para obtener los detalles de un tutorial especรญfico.

Veamos ahora cรณmo podemos incorporar campos y mรฉtodos en nuestro cรณdigo.

Paso 1) El primer paso es asegurarse de que la clase Tutorial tenga definidos los campos y mรฉtodos correctos. En este paso, agregamos el siguiente cรณdigo al archivo Tutorial.cs.

Campos y mรฉtodos

Code Explicaciรณn:-

  1. El primer paso es agregar los campos TutorialID y TutorialName al archivo de clase. Dado que el campo TutorialID serรก un nรบmero, lo definimos como un nรบmero entero, mientras que TutorialName se definirรก como una cadena.
  2. A continuaciรณn, definimos el mรฉtodo SetTutorial. Este mรฉtodo acepta 2 parรกmetros. Entonces, si Program.cs llama al mรฉtodo SetTutorial, deberรก proporcionar los valores de estos parรกmetros. Estos valores se utilizarรกn para configurar los campos del objeto Tutorial.
    1. El valor de pID pasarรญa a ser 1
    2. El valor de pName serรญa .Net.
    3. En el mรฉtodo SetTutorial, estos valores se pasarรญan a TutorialID y TutorialName.
    4. Entonces ahora TutorialID tendrรญa un valor de 1 y TutorialName tendrรญa un valor de ".Net".
  3. Aquรญ configuramos los campos de la clase Tutorial con los parรกmetros correspondientes. Entonces configuramos TutorialID en pID y TutorialName en Pname.
  4. Luego definimos el mรฉtodo GetTutorial para que devuelva un valor del tipo โ€œStringโ€. Este mรฉtodo se utilizarรก para devolver el TutorialName al programa que realiza la llamada. Asimismo, tambiรฉn puedes obtener el id del tutorial con el mรฉtodo Int GetTutorial
  5. Aquรญ devolvemos el valor del campo TutorialName al programa que realiza la llamada.

Paso 2) Ahora agreguemos cรณdigo a nuestro Program.cs, que es nuestra aplicaciรณn de consola. La aplicaciรณn de consola se utilizarรก para crear un objeto de la โ€œclase Tutorialโ€ y llamar a los mรฉtodos SetTutorial y GetTutorial en consecuencia.

(Nota: :- Un objeto es una instancia de una clase en un momento dado. La diferencia entre una clase y un objeto es que el objeto contiene valores para las propiedades).

Campos y mรฉtodos

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  int TutorialID; 
  string TutorialName;
  
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
    
   pTutor.SetTutorial(1,".Net");
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Code Explicaciรณn:-

  1. El primer paso es crear un objeto para la clase Tutorial. Marque aquรญ que esto se hace utilizando la palabra clave "nuevo". La palabra clave "nueva" se utiliza para crear un objeto a partir de una clase en C#. Luego, el objeto se asigna al pTutor. variable.
  2. Luego se llama al mรฉtodo SetTutorial. Los parรกmetros de 1 y โ€œ.Netโ€ se pasan al mรฉtodo SetTutorial. Luego se utilizarรกn para configurar los campos "TutorialID" y "TutorialName" de la clase en consecuencia.
  3. Luego usamos el mรฉtodo GetTutorial de la clase Tutorial para obtener el nombre del Tutorial. Luego, esto se muestra en la consola a travรฉs del mรฉtodo Console.WriteLine.

Si el cรณdigo anterior se ingresa correctamente y se ejecuta el programa, se mostrarรก el siguiente resultado.

Salida:

Campos y mรฉtodos

En el resultado, puede ver claramente que el mรฉtodo GetTutorial devolviรณ la cadena ".Net".

Preguntas Frecuentes

Un constructor es un mรฉtodo especial que coincide con el nombre de la clase y se ejecuta automรกticamente cuando se crea un objeto con `new`, inicializando sus campos con valores iniciales.

La palabra clave `new` crea un objeto a partir de una clase. Asigna memoria, llama al constructor y devuelve una referencia, como en `Tutorial pTutor = new Tutorial()`.

Una clase es un tipo de referencia almacenado en el montรณn, mientras que una estructura es un tipo de valor que se copia al asignarse. Las clases admiten herencia; las estructuras no.

Los modificadores de acceso establecen la visibilidad de los miembros. `public` expone un miembro a cualquier cรณdigo, `private` lo restringe a la misma clase y `protected` lo comparte con las clases derivadas.

Sรญ. Una clase es un plano, por lo que puedes crear muchos objetos con new. Cada objeto contiene su propia copia de los campos, keeping sus valores independientes.

Un campo almacena datos directamente dentro de una clase. Una propiedad encapsula un campo con mรฉtodos de acceso get y set, controlando cรณmo se lee o se modifica el valor.

Sรญ. GitHub Copilot sugiere definiciones de clases, campos, constructores y cuerpos de mรฉtodos a partir de un comentario o nombre de clase dentro de Visual Studio y VS Code. RevVea cada uno para los tipos correctos.

ML.NET modela los datos de entrada y salida como clases de C#. Se define una clase cuyas propiedades se corresponden con las caracterรญsticas, se cargan los registros en objetos y se entrenan los modelos a partir de ellos.

Resumir este post con: