Hola!!
Tengo dos clases, Persona y Trabajador, la clase Trabajador hereda de Persona, puedo acceder a persona normamente pero no a trabajador me da el siguiente error:
La clase trabajador no es accesible debido a su nivel de proteccion.
Alguien podria ayudarme?
Este es el codigo:
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
class Persona
{
public string Nombre; // Campo de cada objeto Persona que almacena su nombre
public int Edad; // Campo de cada objeto Persona que almacena su edad
public string NIF; // Campo de cada objeto Persona que almacena su NIF
public String Cumpleaños() // Incrementa en uno de edad del objeto Persona
{
Edad++;
return "Incrementando edad de persona";
}
// Constructor de Persona
public Persona (string nombre, int edad, string nif)
{
Nombre = nombre;
Edad = edad;
NIF = nif;
}
}
class Trabajador: Persona
{
public int Sueldo; // Campo de cada objeto Trabajador que almacena cuánto gana
Trabajador(string nombre, int edad, string nif, int sueldo)
: base(nombre, edad, nif)
{ // Inicializamos cada Trabajador en base al constructor de Persona
Sueldo = sueldo;
}
public String Cumple2()
{
return "No sirve esta porqueria";
}
}
class Cliente
{
public string Nombre;
public string Apellidos;
public DateTime FechaCreacion;
public int Valor;
public Cliente()
{
FechaCreacion = DateTime.Now;
}
public Cliente(int a, int b) : this()
{
Valor = a + b;
}
}
private void button1_Click(object sender, EventArgs e)
{
int a = 12, b = 8;
Cliente Cli1 = new Cliente();
Cliente Cli2 = new Cliente(a, b);
DateTime FecCli = Cli1.FechaCreacion;
int res = Cli2.Valor;
DateTime date2 = Cli2.FechaCreacion;
Persona persona = new Persona("Said", 26, "123");
Trabajador p = new Trabajador("Josan", 22, "77588260-Z", 100000); //justo en esta linea me da el error!!
//Msg2.Text = Trabajador
Msg1.Text = persona.Cumpleaños();
private void Form1_Load(object sender, EventArgs e)
{
}
}
}