Torna al Thread
void Main()
{
Derived derived = new Derived();
Console.WriteLine(derived.PublicProperty);
Console.WriteLine(derived.Description);
}
public abstract class Base
{
private int _privateField;
protected int ProtectedProperty { get; set; }
public int PublicProperty { get; set; }
}
public class Derived : Base
{
public string Description { get; set; }
public Derived()
{
// non posso accedere alle proprietà private della classe base
// se provi ad accedere, il compilatore ritornerà l'errore: 'UserQuery.Base._privateField' is inaccessible due to its protection level
// this._privateField = 5;
// le protected invece possono essere utilizzate, ma SOLO all'interno delle classi derivate
this.ProtectedProperty = 10;
// le public ovviamente possono essere viste ovunque, sia all'interno della classe derivata, che dall'istanza dell'oggetto
this.PublicProperty = 20;
this.Description = "Ciao Mondo!";
}
}