| using System;␊ |
| using System.Collections.Generic;␊ |
| using System.Linq;␊ |
| using System.Text;␊ |
| ␊ |
| namespace classex3␊ |
| {␊ |
| public class BaseClass␊ |
| {␊ |
| public virtual void DoWork()␊ |
| {␊ |
| Console.WriteLine("BaseWork");␊ |
| }␊ |
| public int WorkField;␊ |
| public int getWorkProperty() { return 0; }␊ |
| public void setWorkProperty(int value) { this.WorkField = value; }␊ |
| public int WorkProperty␊ |
| {␊ |
| get { return 0; }␊ |
| set { this.WorkField = value; }␊ |
| }␊ |
| }␊ |
| ␊ |
| public class DerivedClass : BaseClass␊ |
| {␊ |
| public override void DoWork() { Console.WriteLine("DerivedWork"); }␊ |
| public new int WorkField;␊ |
| public new int WorkProperty␊ |
| {␊ |
| get { return 0; }␊ |
| }␊ |
| }␊ |
| class Program␊ |
| {␊ |
| static void Main(string[] args)␊ |
| {␊ |
| DerivedClass B = new DerivedClass();␊ |
| BaseClass A = (BaseClass)B;␊ |
| B.DoWork();␊ |
| A.DoWork();␊ |
| //A.WorkProperty = 20;␊ |
| //int x = A.WorkProperty;␊ |
| }␊ |
| }␊ |
| }␊ |