Base class pointer to derived class object using System; namespace CsharpOops { class Animal { protected string name; public void sleep() { Console.WriteLine(name + " Sleep"); } } class Dog : Animal { public Dog() { name = "Dog"; } public void bark() { Console.WriteLine(name + " Bark"); } } class Program { static void Main(string[] args) { //A base class pointer can point to a derived class object, but vice versa in not true. Animal mydog = new Dog(); mydog.sleep(); //mydog.bark(); Console.ReadKey(); } } }