/* public static void Main(){ start(); } */ private static void start() { BaseClass derived = new DerivedClass(); derived.add(5,5); DerivedClass d2 = new DerivedClass(); d2.add(3,3); }
static void Main() { DerivedClass instance = new DerivedClass(); instance.field1 = 1; instance.field2 = 2; instance.field3 = 3; instance.field4 = 4; instance.field5 = 5; // Приведение экземпляра класса DerivedClass к базовому типу BaseClass. BaseClass newInstance = (BaseClass)instance; // Upcast Console.WriteLine(newInstance.field1); Console.WriteLine(newInstance.field2); Console.WriteLine(newInstance.field3); //Console.WriteLine(newInstance.field4); //Console.WriteLine(newInstance.field5); // Проверка. Console.WriteLine("instance Id {0}", instance.GetHashCode()); Console.WriteLine("newInstance Id {0}", newInstance.GetHashCode()); // Delay. Console.ReadKey(); }
static void Main() { DerivedClass instance = new DerivedClass(); instance.Method(); // Delay. Console.ReadKey(); }
static void Main(string[] args) { // AbClass a = new AbClass(); // Error. Cannot instantiate an abstract class. // a.IdentifyDerived(); DerivedClass b = new DerivedClass(); // Instantiate the derived class. b.IdentifyBase(); // Call the inherited method. b.IdentifyDerived(); // Call the "abstract" method. }
static void Main() { DerivedClass instance = new DerivedClass(); Console.WriteLine(instance.publicField); // Delay. Console.ReadKey(); }
static void Main() { DerivedClass instance = new DerivedClass(); instance.Method(); // UpCast BaseClass instanceUp = instance as BaseClass; instanceUp.Method(); // DownCast DerivedClass instanceDown = instanceUp as DerivedClass; instanceDown.Method(); // Delay. Console.ReadKey(); }