-
¿Cuál es el nombre del parámetro implícito pasado al método set de una propiedad?
valor, cuyo tipo es el mismo que el tipo declarado de la propiedad.
¿Cómo implementar la herencia en C#?
Agregue dos puntos después del nombre de la clase, seguido del nombre de la clase base.
¿C# admite herencia múltiple?
No compatible. Esto se puede lograr mediante interfaces.
¿Dónde se puede acceder a las propiedades/métodos protegidos?
Se puede acceder por herencia o herencia indirecta y subclases de esta clase.
¿Se heredarán los miembros privados?
Sí, pero no se puede acceder. Entonces parece que no se pueden heredar, pero en realidad se heredan. (En mi opinión, una subclase hereda todo de la clase principal. <Pensando en JAVA> dice que el objeto de la subclase tiene una copia completa del objeto de la clase principal. La creación de instancias de una clase se crea desde la superclase de nivel superior, es una capa- estructura de envoltura por capas. El método de acceso restringido privado solo puede estar dentro de la clase. Esto es solo un control de acceso. De hecho, el objeto de la subclase posee todo el objeto de la clase principal).
Describa el modificador protegido interno.
Solo sus subclases en el mismo ensamblaje (Assembly) pueden acceder a las propiedades/métodos modificados por protected internal.
C# proporciona un constructor sin parámetros predeterminado. Cuando implemento otro constructor con un parámetro, también quiero conservar este constructor sin parámetros. ¿Cuántos constructores debería escribir de esta manera?
Segundo, una vez que implementes un constructor, C# ya no proporcionará un constructor predeterminado, por lo que deberás implementar manualmente el constructor sin parámetros.
¿Cuál es la clase base común a todos los objetos en C#?
Objeto.delsistema.
¿Cuál es la diferencia entre sobrecargar y sobrescribir?
La sobrecarga proporciona la implementación de llamar a una firma de método con diferentes parámetros. La anulación proporciona una implementación en una subclase que cambia el comportamiento de un método de clase principal.
¿Qué significa virtual en la definición de un método?
Los métodos modificados por virtual pueden ser anulados por subclases.
¿Se pueden anular los métodos no estáticos en métodos estáticos?
No, la firma del método anulado debe ser coherente con la firma del método anulado, excepto para cambiar virtual a anular.
¿Se pueden anular los métodos virtuales privados?
No, ni siquiera se puede acceder a los métodos privados de la clase principal en la subclase.
¿Se puede evitar que una clase sea heredada por otras clases?
Sí, utilice la palabra clave sellado.
¿Es posible permitir que se herede una determinada clase, pero no permitir que se anule un determinado método?
Sí, marque esta clase como pública y marque este método como sellado.
¿Qué es una clase abstracta?
Una clase de la que no se puede crear una instancia. Las clases abstractas generalmente contienen métodos abstractos, pero por supuesto también pueden tener implementaciones concretas. Solo se puede crear una instancia de una clase heredada después de que haya implementado todos los métodos abstractos de la clase abstracta.
¿Cuándo se debe declarar abstracta una clase?
Cuando esta clase contiene métodos abstractos o cuando la clase no implementa completamente los métodos abstractos de la clase principal.
¿Qué es una interfaz?
Clases que contienen solo métodos abstractos públicos. Estos métodos deben implementarse en subclases.
¿Por qué no puedo especificar modificadores para métodos en una interfaz?
Los métodos en la interfaz se utilizan para definir el contrato de comunicación entre objetos. No tiene sentido especificar los métodos en la interfaz como privados o protegidos. Por defecto utilizan métodos públicos.
¿Puedo heredar múltiples interfaces?
ciertamente.
Entonces, ¿qué pasa si hay nombres de métodos duplicados en estas interfaces?
En este caso usted puede decidir cómo implementarlo. Por supuesto que debes tener mucho cuidado. Pero no hay ningún problema en el proceso de compilación.
¿Cuál es la diferencia entre interfaz y clase abstracta?
Todos los métodos en una interfaz deben ser abstractos y no se pueden especificar modificadores de acceso a métodos. Las clases abstractas pueden tener implementaciones de métodos y también pueden especificar modificadores de acceso para los métodos.
¿Cómo distinguir métodos sobrecargados?
Diferentes tipos de parámetros, diferentes números de parámetros y diferentes órdenes de parámetros.
¿Cuál es la diferencia entre constante y solo lectura?
La palabra clave const se usa para declarar constantes en tiempo de compilación y solo lectura se usa para declarar constantes en tiempo de ejecución.
¿Cuál es la diferencia entre System.String y System.StringBuilder?
System.String es una cadena inmutable. System.StringBuilder almacena una cadena variable y proporciona algunos métodos para modificar esta cadena.
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/thy822/archive/2009/12/23/5060689.aspx .
-