using System; using System.Collections.Generic; using System.Text; namespace CSharpAbstractionDemo { abstract class Robot { // Attributes private string _name; // Constructors public Robot(string name) { _name = name; } // Properties // Methods public string GetName() { return _name; } public virtual void SayHello() { Console.WriteLine("Hello {0}", _name); } public abstract void ProgramAction(IAction action); public abstract void RunProgram(); } }