using System;
class Student
{
protected string name;
public virtual string Name
{
get {
Console.WriteLine("Parent - class Student - get");
return name;
}
set {
Console.WriteLine("Parent - class Student - set");
name = value;
}
}
}
class Grad: Student
{
public override string Name
{
get {
Console.WriteLine("Child - class Grad: Student - get");
return name;
}
set {
Console.WriteLine("Child - class Grad: Student - set");
name = value;
}
}
}
class Program
{
static void Main(string[] args)
{
Grad g = new Grad();
g.Name = "Tom";
Console.WriteLine(g.Name);
Student s = new Student();
s.Name = "Emma";
Console.WriteLine(s.Name);
}
}
/*
run:
Child - class Grad: Student - set
Child - class Grad: Student - get
Tom
Parent - class Student - set
Parent - class Student - get
Emma
*/