Durante todos mis años de universidad he utilizado public
, y me gustaría saber la diferencia entre public
, private
y protected
.
Además, ¿qué hace static
a diferencia de no tener nada?
Hmm.
Ver aquí: Modificadores de acceso.
En pocas palabras:
Public da al método o tipo una visibilidad completa desde otros tipos/clases.
Private permite que sólo el tipo que contiene el método/variable privado tenga acceso al método/variable privado (tenga en cuenta que las clases anidadas también tienen acceso a los métodos/variables privados de las clases que las contienen).
Protected es similar a private, excepto que las clases derivadas también pueden acceder a los métodos protegidos.
"Nothing" es el equivalente de VB.NET a null. Aunque si te refieres a que "nada" significa "sin modificador de acceso", entonces depende, aunque una regla general (ciertamente en C#) es que si no se especifica explícitamente un modificador de acceso, la declaración del método/variable suele estar tan restringida como puede estarlo. Por ejemplo
public class MyClass
{
string s = "";
}
es efectivamente lo mismo que:
public class MyClass
{
private string s = "";
}
El artículo de MSDN vinculado ofrecerá una descripción completa cuando no se especifique explícitamente un modificador de acceso.