Example #1
0
        static void Main(string[] args)
        {
            //Interfaces
            //
            //Can't call method bark on it, unless casting is implemented
            IAnimal animal = new Dog();

            //Instruct user
            Console.WriteLine("Interfaces:");

            //Initiate Move method
            animal.Move();

            //Division
            Console.WriteLine(string.Empty);

            //Inheritance
            //
            //Base class Object
            Base b = new Base();

            //Instruct user
            Console.WriteLine("Inheritance:");

            //Initiate Base.Execute method
            b.Execute();

            //Derived class Object
            Derived d = new Derived();

            //Initiate Derived.Execute method
            d.Execute();

            //Division
            Console.WriteLine(string.Empty);

            //Abstract and Sealed classes
            Console.WriteLine("Abstract and Sealed classes");
            //Abstract Derived class object
            AbstractDerived ad = new AbstractDerived();

            //Initiate Asbtract Base class MethodWithImplementation method
            ad.MethodWithImplementation();
            //Initiate overridden AbstractMethod
            ad.AbstractMethod();

            //Division
            Console.WriteLine(string.Empty);

            //IComparable interface
            Console.WriteLine("IComparable interface");

            //List of hard-coded orders
            List <Order> orders = new List <Order>
            {
                new Order {
                    Created = new DateTime(2012, 12, 1)
                },
                new Order {
                    Created = new DateTime(2012, 1, 6)
                },
                new Order {
                    Created = new DateTime(2012, 7, 8)
                },
                new Order {
                    Created = new DateTime(2012, 2, 20)
                },
            };

            //calls the CompareTo method to sort items. After sorting, list contains the orderedOrders.
            orders.Sort();

            //Display sorted orders
            foreach (var o in orders)
            {
                Console.WriteLine(o.Created);
            }

            //Division
            Console.WriteLine(string.Empty);

            //IComparable interface
            Console.WriteLine("IEnumerable interface");

            //Initiate EnumerableInterface void method
            EnumerableInterface();
        }