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:
- 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.