[.net Conceptos básicos de programación orientada a objetos] (8) Ejemplos de clases y clases

Este artículo se transfiere de: https://www.cnblogs.com/yubinfeng/p/4552274.html

Categoría, como su nombre lo indica, significa clasificación y categoría. Si queremos una programación orientada a objetos, debemos clasificar diferentes cosas. Se puede decir que las clases son el núcleo de .net orientado a objetos.

Clase: es una colección abstracta de objetos con las mismas propiedades y funciones.

1. Definición de clase 

    <Modificador de acceso> clase <nombre de clase> {miembros de la clase (campos, atributos, métodos, eventos)}

   Por ejemplo, por ejemplo, "humano" es una clase que puede contener atributos como género, raza, país, etc. Además de incluir atributos, también contiene algunas otras funciones, como: comer, dormir, etc., puede entenderse como un método de clase.

El código es el siguiente:    

Código de copia
 1 persona de clase
 2 {
 3 género de cadena pública {get; conjunto; }
 4 carrera de cuerda pública {get; conjunto; }
 5 cadenas públicas Country {get; conjunto; }
 6 cadenas públicas Eat (string strCountry)
 7 {
 8 interruptores (strCountry)
 9 {
10 caso "Estados Unidos":
11 
12 regresan "Me encanta la comida occidental";
13 
14 caso "Corea":
15 
16 devuelven "Me encanta comer kimchi";
17 por defecto:
18 devuelven "No sé";
19}
20}
21}
Código de copia

 

  Para los modificadores de clase, se admiten los cinco modificadores de acceso descritos en la sección anterior.

Modificador de acceso

Explicación

público

Acceso publico. Sin restricciones

privado

Acceso privado El acceso está restringido a los miembros de esta clase, y no se puede acceder a las subclases e instancias.

protegido

Proteger el acceso. El acceso está limitado a esta clase y subclases, y no se puede acceder a las instancias.

interno

Acceso interno El acceso está limitado a este proyecto, no se puede acceder a otros.

interno protegido

Acceso protegido internamente. El acceso está limitado a este proyecto o subcategoría, no se puede acceder a otros

  •  El modificador predeterminado del espacio de nombres de clase es: public
  •  El modificador de acceso predeterminado para la clase es: interno 
  •  El modificador de acceso predeterminado para los miembros de la clase es: privado
  •  El alcance de un miembro de la clase nunca puede exceder la clase que lo contiene
  •  Puede declarar una clase estática clase estática ClassName, pero todos sus miembros deben definirse explícitamente como estáticos

2. Instanciación de clase

  Una instancia de una clase: es un objeto real de la clase.

  <Nombre de clase> <nombre de instancia> = nuevo <nombre de clase> ([parámetro del constructor])

    Por ejemplo, el humano definido anteriormente es una clase, y un individuo específico es una instancia de humano. El proceso de clase a instancia de clase se llama instanciación de clase.  

Persona persona = nueva Persona ();

3. Constructor

El constructor, también llamado constructor, es el método que inicializa la clase.

Su nombre es el mismo nombre, no hay valor de retorno y no hay necesidad de anular, que se llama cuando es nuevo.

Todas las clases tienen constructores, pero C # se convertirá por defecto en un constructor sin parámetros, si no se define, se usará el predeterminado.

Si se define un constructor, no es válido por defecto.

4. Clases anidadas

     C # permite el anidamiento de clases

     Los tipos anidados se consideran miembros de tipos externos, por lo que los tipos anidados pueden acceder a todos los demás miembros de tipos externos.

     De acuerdo con el principio de que el modificador de acceso predeterminado de los miembros de la clase es: privado, el modificador de acceso predeterminado de las clases anidadas es privado

     Los tipos anidados pueden acceder libremente a miembros de tipos externos, independientemente de si esos miembros son privados. Si el tipo externo quiere acceder al tipo anidado, está sujeto a las reglas de acceso.

     Con respecto a la herencia de clases anidadas (la herencia se explicará en detalle más adelante), si un tipo hereda un tipo que contiene tipos anidados, entonces naturalmente heredará los tipos anidados en el tipo base, porque ese tipo anidado en sí es la base Un miembro del tipo. Por lo tanto, siempre que el tipo anidado no sea privado o no se pueda heredar, el tipo anidado recientemente declarado en el subtipo también puede heredar ese tipo anidado.

Aquí está el código de clase anidado:

Código de copia
1 árbol de clase estática
2 {
3 cadena estática privada _treeLeafColor = "Green";
4 clase estática AppleTree
5 {
6 cadena estática privada appleTreeLeaf = _treeLeafColor;
7}
8}
Código de copia

5. Clase distribuida

Algunas clases tienen funciones complejas, con una gran cantidad de campos, atributos, eventos, métodos e incluso miembros anidados. Si todas las definiciones de clase se escriben juntas, el archivo es enorme y las líneas de código son grandes, lo que no es fácil de entender y depurar.

Características de las clases distribuidas:
A, el mismo nombre de clase;
B, con modificador parcial;
C, con el mismo espacio de nombres;

Código de copia
// El nombre del archivo es partOne.cs
utilizando el sistema;
ejemplo de clase parcial pública
{
  public void method1 () {}
}
// El nombre del archivo es partTwo.cs utilizando el sistema; ejemplo de clase parcial pública { public void method2 () {} }
Código de copia

Ambos métodos pertenecen al ejemplo de clase, pero se colocan en archivos diferentes. Después de que el editor encuentra el parcial, el nombre de la clase y el espacio de nombres son los mismos, y los archivos se compilan automáticamente para formar una clase completa.

Puntos clave:

1. Las clases se pueden declarar como clases estáticas utilizando el modificador static. Después de declarar static, todos los miembros de la clase deben ser estáticos;

2. El modificador de acceso predeterminado para una clase es: interno. Cuando define una clase privada, debe agregar el modificador privado, y el modificador de acceso predeterminado para los miembros de la clase es: privado, los métodos públicos deben declararse como:

3. Convención de nomenclatura de clases: use la regla de mayúsculas de la primera letra, no use el nombre de clase del sistema o el mismo nombre que el modificador;

Supongo que te gusta

Origin www.cnblogs.com/hanguoshun/p/12728348.html
Recomendado
Clasificación