Pregunta

Es posible declarar variables con la siguiente estructura en C ++

private:
public:
protected:
    float bla1;
    float bla2;
    float bla3;

¿Hay un equivalente en C #? Parece bastante tedioso tener que repetirse;

protected float bla1;
protected float bla2;
protected float bla3;
¿Fue útil?

Solución

No, no existe tal cosa. De hecho, está diseñado para ser así para que el código sea más legible. Esto se aplica tanto a C # como a Java.

Otros consejos

No. El acceso se especifica en cada declaración.

El beneficio de esto es que la ubicación de un método dentro del archivo fuente no tiene ningún efecto sobre el comportamiento. Eso significa que puede mover métodos y propiedades (por ejemplo, para agrupar métodos relacionados) con impunidad. Lo mismo no es bastante verdadero para los campos: es posible hacer que el orden de declaración de los campos sea importante. Es cierto que es mejor no hacerlo en primer lugar ...

Vale la pena señalar que si tiene varios miembros del mismo tipo, puede declararlos como:

protected float bla1, bla2, bla3;

No, no hay equivalente en C # (VB y F # también).

Personalmente me encanta esta diferencia. Trabajo en una base de código C ++ muy grande y no hay forma de ver un método en particular y saber que es una accesibilidad particular. Algunas de las clases se han vuelto tan grandes que se necesita una gran cantidad de desplazamiento de la página para ver el modificador.

Algunos programadores pueden pensar que no está tan mal, pero consideren lo que sucede cuando las personas comienzan a mezclar #if defs en el medio de la clase y agregan modificadores dentro de esos # if. Hace que determinar el modificador de acceso durante una revisión de código sea una operación no trivial.

Es un pequeño sacrificio de mecanografía agregar el modificador en línea, pero vale la pena en términos de legibilidad a largo plazo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top