Tanto las clases como sus métodos y campos pueden ser publicos o privados (más adelante veremos que existen dos casos más, protected e internal) pero por ahora lo más interesante es diferenciar entre public y private.
Public: Permite el acceso a la clase metodo o campo desde fuera de la propia clase.
EJEMPLO DEFINICIÓN CLASE PUBLICA:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Fechas
{
public class Program
{
}
}
EJEMPLO METODO Y CAMPO PUBLIC:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Personas
{
public class Person
{
//CAMPOS
string firstName;
string lastName;
DateTime birthDate;
public int contador;
//CONSTRUCTOR DE LA CLASE
public Persona(string firstName, string lastName, DateTime birthDate)
{
this.firstName = firstName;
this.lastName = lastName;
this.birthDate = birthDate;
}
}
}
Private: El elemento solo es accesible desde la propia clase.
Todo lo que no ponemos que sea public, es privated por defecto, es decir, como habitualmente los campos de una clase son privados, no necesitamos poner private ya que al no poner public, nadie podrá acceder a el desde fuera de la clase.