Foros del Web » Programación para mayores de 30 ;) » Programación General »

Dudas con C#, niveles de proteccion en clases hijas.

Estas en el tema de Dudas con C#, niveles de proteccion en clases hijas. en el foro de Programación General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 14/08/2007, 15:19
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 214
Antigüedad: 20 años, 8 meses
Puntos: 0
Dudas con C#, niveles de proteccion en clases hijas.

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)
{

}
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:04.