CSharp
Tutorial CSharp: Clases y encapsulación
CSharp clases encapsulación: guía y ejemplos. Domina la encapsulación en clases de CSharp con ejemplos prácticos y detallados.
Aprende CSharp GRATIS y certifícateLas clases son uno de los fundamentos más importantes de la programación orientada a objetos en C#. En esencia, una clase es un plano o una plantilla que define los campos (variables), propiedades y métodos (funciones) para un tipo de objeto en particular.
Una clase es una plantilla de definición de tipos de datos. Esta plantilla describe las características y comportamientos que un objeto del tipo de clase puede tener. Las características se describen en forma de campos y propiedades (datos miembro), mientras que los comportamientos se definen en forma de métodos (funciones miembro).
Cada instancia de una clase tiene su propia copia de estos miembros de datos y puede comportarse de manera independiente del resto. Las clases también pueden contener otros miembros, como eventos, delegados y otros tipos anidados, pero estos están más allá del alcance de este tutorial.
Sintaxis para la declaración de una clase
Aquí se muestra un ejemplo de cómo declarar una clase básica en C#:
public class MiClase
{
// Campos
private int miCampo;
// Propiedades
public int MiPropiedad
{
get { return miCampo; }
set { miCampo = value; }
}
// Métodos
public void MiMetodo()
{
// Código del método
}
}
En este ejemplo:
public
es el modificador de acceso que determina dónde puede ser accesible la clase. En este caso, la clase puede ser accesible desde cualquier lugar. Otros modificadores de acceso incluyenprivate
,protected
yinternal
.class
es la palabra clave que indica que este es el comienzo de una definición de clase.MiClase
es el nombre de la clase. El nombre de la clase sigue las mismas reglas que las variables en C#, excepto que suele empezar por mayúscula.{ }
se utilizan para definir el cuerpo de la clase, que contiene los campos, las propiedades y los métodos de la clase.
Campos, Propiedades y Métodos
Modificadores de acceso
En C#, los modificadores de acceso son palabras clave que se utilizan para controlar la visibilidad y accesibilidad de miembros (variables, métodos, propiedades, etc.) dentro de una clase. Hay cuatro modificadores de acceso en C#:
public: El miembro es accesible desde cualquier lugar, incluso fuera de la clase que lo define.
private: El miembro solo es accesible desde dentro de la misma clase que lo define. Es el modificador de acceso por defecto para miembros de clase si no se especifica ningún otro.
protected: El miembro es accesible desde dentro de la misma clase y también desde clases derivadas (heredadas) de la clase que lo define.
internal: El miembro es accesible desde cualquier lugar dentro del mismo ensamblado (assembly). Un ensamblado es un archivo ejecutable o una biblioteca (DLL) que contiene uno o más tipos de C#.
Nota: C# también tiene un quinto modificador de acceso llamado protected internal, que combina las características del modificador protected
y internal
, permitiendo el acceso desde clases derivadas en el mismo ensamblado y desde cualquier lugar dentro del ensamblado.
Campos
Los campos son variables que se definen dentro de una clase. Cada instancia de la clase tiene su propia copia de estos campos. Aquí está el campo en el ejemplo anterior:
private int miCampo;
En este ejemplo, private
es un modificador de acceso que significa que el campo solo puede ser accesible desde dentro de la clase. int
es el tipo de datos del campo y miCampo
es el nombre del campo.
Propiedades
Las propiedades en C# son una forma de acceder a los campos de una clase. Proporcionan un nivel de abstracción y control sobre cómo se accede a los datos de la clase. Aquí está la propiedad en el ejemplo anterior:
public int MiPropiedad
{
get { return miCampo; }
set { miCampo = value; }
}
En este ejemplo, public
es un modificador de acceso que significa que la propiedad puede ser accesible desde cualquier lugar. int
es el tipo de datos de la propiedad y MiPropiedad
es el nombre de la propiedad.
get
y set
son los accesorios de la propiedad. El accesorio get
se utiliza para devolver el valor del campo y el accesorio set
se utiliza para asignar un valor al campo. value
es una palabra clave que representa el valor que se está asignando a la propiedad. Si estos métodos no tienen un modificador de acceso explícito, asumirán el de la propiedad (en este caso, public
).
La principal diferencia entre los campos y las propiedades es que las propiedades utilizan getters y setters para obtener y establecer el valor de la propiedad. Esto permite una validación y lógica adicional al acceder o cambiar los datos, lo que facilita el encapsulamiento y la protección de los datos internos de la clase.
Es posible tener diferentes niveles de acceso para los métodos get
y set
, lo que permite controlar la lectura y escritura de los datos desde fuera de la clase.
Métodos
Los métodos son funciones que se definen dentro de una clase. Pueden operar en los campos y propiedades de la clase. Aquí está el método en el ejemplo anterior:
public void MiMetodo()
{
// Código del método
}
En este ejemplo, public
es un modificador de acceso que significa que el método puede ser accesible desde cualquier lugar. void
es el tipo de retorno del método, que en este caso no retorna nada. MiMetodo
es el nombre del método y ()
se utilizan para definir los parámetros del método, que en este caso no tiene ninguno.
Resumen
Las clases son la base de la programación orientada a objetos en C#. Proporcionan una forma de encapsular los datos y los comportamientos relacionados en un solo paquete, lo que facilita el desarrollo de programas más grandes y más complejos. A partir de este entendimiento básico de las clases en C#, sería posible seguir explorando conceptos más avanzados como la herencia y el polimorfismo.
Ejercicios de esta lección Clases y encapsulación
Evalúa tus conocimientos de esta lección Clases y encapsulación con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Todas las lecciones de CSharp
Accede a todas las lecciones de CSharp y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A C#
Sintaxis
Creación De Proyecto C#
Sintaxis
Variables Y Constantes
Sintaxis
Tipos De Datos
Sintaxis
Operadores
Sintaxis
Control De Flujo
Sintaxis
Funciones
Sintaxis
Clases Y Encapsulación
Programación Orientada A Objetos
Objetos
Programación Orientada A Objetos
Constructores Y Destructores
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Excepciones
Excepciones
Arrays Y Listas
Colecciones Y Linq
Diccionarios
Colecciones Y Linq
Conjuntos, Colas Y Pilas
Colecciones Y Linq
Uso De Consultas Linq
Colecciones Y Linq
Delegados
Programación Asíncrona
Eventos
Programación Asíncrona
Lambdas
Programación Asíncrona
Uso De Async Y Await
Programación Asíncrona
Tareas
Programación Asíncrona
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender el concepto de clases en C# y su importancia en la programación orientada a objetos.
- Aprender cómo declarar una clase, incluyendo el uso de campos, propiedades y métodos.
- Entender los modificadores de acceso y cómo controlan la visibilidad de los miembros de la clase.
- Conocer la diferencia entre campos y propiedades, y cómo se utilizan los accesorios
get
yset
en las propiedades. - Familiarizarse con la sintaxis para la declaración de una clase y cómo se instancian objetos a partir de ella.