Examen de miembros de clase
La programación orientada a objetos (OOP) es un paradigma de programación que usa objetos para modelar entidades reales. En OOP, las clases son el plano técnico para crear objetos y definir los datos y el comportamiento de esos objetos.
Las clases usan campos para definir los datos de un objeto, las propiedades para controlar el acceso a los campos y los métodos para definir el comportamiento de un objeto.
Aunque las propiedades y los métodos a menudo reciben la mayor atención, las clases incluyen otros miembros que ayudan a definir su estructura y comportamiento. En la tabla siguiente se enumeran los miembros de una clase:
| Miembro | Descripción |
|---|---|
| Campos | Los campos son variables declaradas en el ámbito de clase. Un campo puede ser un tipo numérico integrado o una instancia de otra clase. Por ejemplo, una clase de calendario puede tener un campo que contenga la fecha actual. |
| Constantes | Las constantes son campos cuyo valor se establece en tiempo de compilación y no se pueden cambiar. |
| Propiedades | Las propiedades son métodos de una clase a la que se tiene acceso como si fueran campos de esa clase. Una propiedad puede proporcionar protección para un campo de clase para evitar que se cambie sin el conocimiento del objeto. |
| Métodos | Los métodos definen las acciones que puede realizar una clase. Los métodos pueden tomar parámetros que proporcionan datos de entrada y pueden devolver datos de salida a través de parámetros. Los métodos también pueden devolver un valor directamente, sin usar un parámetro . |
| Eventos | Los eventos proporcionan notificaciones sobre repeticiones, como clics de botón o la finalización correcta de un método, a otros objetos. Los eventos se definen y desencadenan mediante delegados. |
| Operadores | Los operadores sobrecargados se consideran miembros de tipo. Al sobrecargar un operador, se define como un método estático público en un tipo. |
| Indizadores | Los indexadores permiten que un objeto se indexe de forma similar a las matrices. |
| Constructores | Los constructores son métodos a los que se llama cuando se crea el objeto por primera vez. A menudo se usan para inicializar los datos de un objeto. |
| Finalizadores | Los finalizadores rara vez se usan en C#. Son métodos a los que llama el motor de ejecución en tiempo de ejecución cuando el objeto está a punto de quitarse de la memoria. Se usan para asegurarse de que los recursos que se deben liberar se controlan correctamente. |
| Tipos anidados | Los tipos anidados son tipos declarados dentro de otro tipo. A menudo, los tipos anidados se usan para describir los objetos que solo usan los tipos que los contienen. |
Campos, propiedades, métodos y constructores en una definición de clase
Aunque una definición de clase puede incluir todos los miembros enumerados en la tabla, los más comunes son campos, propiedades, métodos y constructores. Estos miembros forman la estructura principal de la mayoría de las clases de C#, lo que proporciona el almacenamiento de datos necesario, los mecanismos de acceso, las definiciones de comportamiento y la lógica de inicialización.
El siguiente fragmento de código muestra cómo se pueden usar los miembros de clase comunes para definir e implementar una clase en C#:
public class Person
{
// Fields
private string name;
private int age;
// Properties
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
// Constructors
public Person(string name, int age)
{
Name = name;
Age = age;
}
// Methods
public void Display()
{
Console.WriteLine($"Name: {Name}, Age: {Age}");
}
}
class Program
{
static void Main()
{
Person person = new Person("PersonName", 30);
person.Display();
}
}
En este ejemplo se usan los siguientes tipos de miembro:
- Campos: la clase
Persontiene dos campos,nameyage, que son privados. - Propiedades: la clase
Persontiene dos propiedades,NameyAge, que proporcionan acceso a los campos privados. Las propiedades usan los descriptores de accesogetysetpara leer y escribir los valores de los campos. - Constructores: la clase
Persontiene un constructor que inicializa los camposnameyagecuando se crea un nuevo objetoPerson. - Métodos: la clase
Persontiene un métodoDisplayque escribe el nombre y la antigüedad de la persona en la consola.
La clase Program contiene el método Main, que actúa como punto de entrada de la aplicación. El método Main crea un nuevo objeto Person, lo inicializa con el nombre "John" y edad de 30 años y, a continuación, llama al método person.Display para escribir la información de la persona en la consola.