English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Las clases son como el plano de un objeto específico. En el mundo real, cada objeto tiene ciertos colores, formas y funciones-Por ejemplo, el deportivo Ferrari. Ferrari es un objeto del tipo de automóvil de lujo. El automóvil de lujo es una clase que indica ciertas características, como velocidad, color, forma, interior, entre otros. Por lo tanto, cualquier empresa que fabrique autos que cumplan con estos requisitos es un objeto del tipo automóvil de lujo. Por ejemplo, cada automóvil de BMW, Lamborghini, Cadillac es un objeto de la clase "automóvil de lujo". Aquí, "automóvil de lujo" es una clase y cada automóvil físico es un objeto de la clase "automóvil de lujo".
Del mismo modo, en la programación orientada a objetos, las clases definen ciertas propiedades, campos, eventos, métodos, entre otros. La clase define el tipo de datos y las funciones que tendrá el objeto.
Las clases le permiten crear tipos personalizados agrupando variables de otros tipos, métodos y eventos.
En C#, se puede definir una clase utilizando la palabra clave class.
public class MyClass { public string myField = string.Empty; public MyClass() { } public void MyMethod(int parameter1, string parameter2) { Console.WriteLine("Primer parámetro {0}, segundo parámetro {1}1, parámetro2); } public int MyAutoImplementedProperty { get; set; } private int myPropertyVar; public int MyProperty { get { return myPropertyVar; } set { myPropertyVar = value; } } }
La siguiente imagen muestra los bloques de construcción importantes de la clase C#.
Los modificadores de acceso se aplican a la declaración de clases, métodos, propiedades, campos y otros miembros. Definen la accesibilidad de la clase y sus miembros. Público, privado, protegido e interno son los modificadores de acceso en C#. Vamos a entenderlo en la sección de palabras clave.
Este campo es una variable de nivel de clase que tiene un valor. Por lo general, los miembros de campo deben tener un modificador de acceso privado y utilizarse junto con propiedades.
Una clase puede tener un constructor parametrizado o sin parámetros. Al crear una instancia de la clase, se llama al constructor. Se puede definir el constructor utilizando modificadores de acceso y el nombre de la clase:
<modificadores de acceso> <class name>(){ }
class MyClass { public MyClass() { } }
Se puede utilizar el siguiente plantilla para definir métodos:
{modificador de acceso} {return tipo} NombreMetodo({tipo de parámetro nombreParámetro})}
public void MyMethod(int parameter1, string parameter2) { // Escriba aquí el código de su método. }
Se pueden definir propiedades utilizando getters y setters, como se muestra a continuación:
private int _myPropertyVar; public int MyProperty { get { return _myPropertyVar; } set { _myPropertyVar = value; } }
La propiedad encapsula un campo privado. Proporciona getters (get {}) para recuperar el valor del campo base y proporciona setters (set {}) para establecer el valor del campo base. En el ejemplo anterior, _myPropertyVar es un campo privado y no se puede acceder directamente. Solo se puede acceder a través de MyProperty. Por lo tanto, MyProperty encapsula a _myPropertyVar.
También se puede aplicar algún lógica adicional en get y set, como se muestra en el siguiente ejemplo.
private int _myPropertyVar; public int MyProperty { get { return _myPropertyVar / 2; } set { if (value > 100) _myPropertyVar = 100; else _myPropertyVar = value; ; } }
Desde C#3A partir de .NET 3.0, si no desea aplicar某些 lógica en get o set, se puede declarar fácilmente la propiedad.
A continuación, se muestra un ejemplo de propiedades implementadas automáticamente:
public int MyAutoImplementedProperty { get; set; }
Tenga en cuenta que en el ejemplo de propiedades mencionado anteriormente no hay campos de respaldo privados. Los campos soportados se crearán automáticamente por el compilador. Puede usar las propiedades automáticas de la misma manera que las propiedades regulares de la clase. Las propiedades implementadas automáticamente solo sirven para declarar propiedades de manera sencilla cuando no se necesita lógica adicional en los accesores de propiedades.
El espacio de nombres es un contenedor de clases y espacios de nombres relacionados. También se utiliza para proporcionar nombres únicos para las clases dentro del espacio de nombres. El espacio de nombres y las clases se representan con un punto (.).
En C#, se puede usar la palabra clave namespace para definir un espacio de nombres.
namespace CSharpTutorials { class MyClass { } }
En el ejemplo anterior, el nombre completo de la clase MyClass es CSharpTutorials.MyClass.
Los espacios de nombres pueden contener otros espacios de nombres. Los espacios de nombres internos pueden separarse con puntos (.)
namespace CSharpTutorials.Examples { class MyClassExample { } }
En el ejemplo anterior, el nombre completo de la clase MyClassExample es CSharpTutorials.Examples.MyClassExample.