La programación orientada a objetos es uno de los paradigmas de programación más populares. Esto se debe a que modela tanto datos como funciones y le permite pensar en términos de objetos del mundo real. Las clases son un aspecto fundamental de la programación orientada a objetos, ya que proporcionan el plan que necesita para crear objetos.

C# es un popular lenguaje de programación multiparadigma, que utiliza el paradigma orientado a objetos. En este artículo, aprenderá a crear y usar clases en C#.

Creación de una declaración de clase

En C#, una clase es un tipo de referencia, que contendrá el nulo valor hasta que cree un nuevo objeto de la clase. Para crear una nueva clase en C# necesitará varios componentes:

  • Un modificador de acceso.
  • los clase palabra clave.
  • El nombre que desea asignar a la clase.
  • Un par de llaves abiertas y cerradas (que incluirán los atributos, constructores y métodos de la clase).
interno claseCliente{ }

El código anterior crea una nueva clase a la que pueden acceder otras clases en el mismo ensamblado (archivo de compilación). C# tiene exactamente seis modificadores de acceso que puede usar para controlar los niveles de accesibilidad de sus clases, variables y métodos. Los seis modificadores de acceso son:

instagram viewer

  • público: cada clase (independientemente de su ensamblaje) puede acceder a la clase pública y sus miembros públicos (atributos, constructores y métodos).
  • privado: solo la clase privada y sus miembros pueden acceder a ella.
  • protegido: solo las clases derivadas (clases hijas y nietas) pueden acceder a la clase protegida.
  • interno: solo las clases en el mismo ensamblado pueden acceder a la clase interna.
  • interno protegido: solo las clases en el mismo ensamblado o una clase derivada de otro ensamblado pueden acceder a la clase interna protegida.
  • privado protegido: solo las clases derivadas en el mismo ensamblado pueden acceder a la clase privada protegida.

Declaración y acceso a atributos

Los atributos son los componentes básicos de las clases que crea. Contienen datos confidenciales y, por lo general, tienen un modificador de acceso privado o protegido. Por lo tanto, para acceder a estas clases desde clases externas, necesitaría usar accesores y mutadores (getters y setters).

C# le permite declarar sus atributos, mutadores y accesores de la siguiente manera:

interno claseCliente
{
// atributos
privadoEn t Número de identificación;
privado cadena Nombre;
privadodoble Total;

// setters
públicovacíoSetIdNumber(En t Número de identificación){ este.NúmeroId = NúmeroId; }
públicovacíoEscoger un nombre(nombre de cadena){ este.Nombre = Nombre; }
públicovacíoConjuntoTotal(doble Total){ este.Total = Total; }

// captadores
públicoEn tObtenerNúmeroId(){ devolvereste.Número de identificación; }
público cuerda ObtenerNombre(){ devolvereste.Nombre; }
públicodobleObtenerTotal(){ devolvereste.Total; }
}

Otros populares lenguajes orientados a objetos también use el enfoque anterior. De hecho, si quieres crear clases Java, tendrá que usar la estructura anterior. Sin embargo, C# ahora tiene una forma más fácil de crear atributos y accesores. En C#, esta clase tiene la misma función que la anterior:

interno claseCliente
{
número de identificación int público { obtener; establecer; }
cadena pública Nombre { obtener; establecer; }
público doble Total { obtener; establecer; }
}

La clase anterior contiene lo que C# llama propiedades, que es una combinación de atributos (campos) y métodos. Con propiedades, puede reducir a la mitad el código de declaración de atributos, mutadores y accesores.

Declaración de constructores

Los constructores son otro aspecto fundamental de una clase. Para crear un objeto a partir de una clase, deberá llamar a uno de sus constructores. Cada constructor tiene un modificador de acceso opcional y el mismo nombre que su clase. Para los lenguajes de programación orientados a objetos, generalmente hay tres tipos de constructores:

  • Constructor predeterminado: no acepta argumentos y proporciona a cada atributo un valor predeterminado.
  • constructor primario: toma uno o más argumentos (dependiendo del número de variables en la clase).
  • Copiar constructor: toma otro constructor como argumento.

C# tiene un término general para los constructores primarios y predeterminados anteriores: constructores de instancias. Este lenguaje de programación también tiene otros dos constructores (privado y estático). Este artículo se centra en los tres constructores tradicionales.

Constructor predeterminado

// Constructor predeterminado
público Cliente()
{
Número de identificación = 0;
Nombre = "desconocido";
totales = 0;
}

Constructor principal

// constructor principal
públicoCliente(En t IdNumber, cadena Nombre, cadena CustomerType, doble Total)
{
este.NúmeroId = NúmeroId;
este.Nombre = Nombre;
este.Total = Total;
}

Copiar constructor

// copiar constructor
público Cliente (Cliente anteriorCliente)
{
este.IdNumber = cliente anterior. Número de identificación;
este.Nombre = cliente anterior. Nombre;
este.Total = cliente anterior. Total;
}

Creación de métodos

Los métodos no son un componente de clase crucial, pero son útiles. Una clase puede tener uno o más métodos. Un método tiene un modificador de acceso, un tipo de devolución, un nombre y un cuerpo.

// método
público cadena DetalleDeCliente()
{
devolver " IDENTIFICACIÓN: " + Número de identificación + " Nombre: " + Nombre + " Total: " + totales;
}

El código anterior devuelve una representación de cadena del objeto del cliente.

Crear objetos

Después de crear una clase completa, equipándola con atributos, constructores y un método, puede comenzar a crear objetos utilizando los diferentes constructores. Para crear un objeto sin atributos, puede usar el constructor predeterminado:

Cliente Juan = nuevo Cliente();

La línea de código anterior crea un cliente predeterminado y lo asigna a una variable llamada John. Con John, puede acceder al valor predeterminado de cada atributo de cliente.

Consola.Línea de escritura(John.Nombre);

Ejecutar el código anterior imprime lo siguiente en la consola:

Desconocido

También puede utilizar el John variable para acceder a cualquier método en la clase de cliente.

Consola.Línea de escritura(John.DetalleCliente());

Ejecutar la línea de código anterior imprime el siguiente resultado en la consola:

DNI: 0 Nombre: desconocido Total: 0

Para crear un objeto con atributos, usaría el constructor principal:

Cliente Juan = nuevo Cliente (1001, "Juan Pérez", 250.20);
Consola.Línea de escritura(John.DetalleCliente());

Ejecutar el código anterior imprime el siguiente resultado en la consola:

IDENTIFICACIÓN: 1001 Nombre: JohnGamaTotal: 250.2

Para crear una copia del objeto anterior, puede usar el constructor de copias:

Cliente Juan = nuevo Cliente (Juan);
Consola.Línea de escritura(johnny.DetalleCliente());

Ejecutar el código anterior imprime el siguiente resultado en la consola:

IDENTIFICACIÓN: 1001 Nombre: JohnGamaTotal: 250.2

Como puede ver, el constructor de copias es una copia del constructor principal. El constructor de copia también puede tomar un constructor predeterminado como argumento:

Cliente Juan = nuevo Cliente();
Cliente Juan = nuevo Cliente (Juan);
Consola.Línea de escritura(johnny.DetalleCliente());

Ejecutar el código anterior imprime el siguiente resultado en la consola:

DNI: 0 Nombre: desconocido Total: 0

Ahora puede crear y usar clases de C#

Puede usar el paradigma orientado a objetos en C# para definir clases y crear objetos a partir de ellas. Puede crear métodos para cada clase que luego pueden operar en los atributos de sus objetos.

Sin embargo, el paradigma orientado a objetos no es el único con el que debe estar familiarizado. Los tres principales paradigmas de programación son imperativos, orientados a objetos y funcionales.