zoukankan      html  css  js  c++  java
  • C#基础:多态:基类可以定义并实现虚(virtual)方法,派生类可以重写(override)这些方法

     

     

    原理:基类可以定义并实现虚(virtual)方法,派生类可以重写(override)这些方法

    实例代码:

     

    class Shape

        {

            //

            public int X{get;private set; }

            public int Y{get;private set;}

            public int Height{get;set;}

            public int Width{get;set;}

            //

            public virtual void Draw()

            {

                Console.WriteLine("Performing base class drawing tasks");

            }

        }

        class Circle : Shape

        {

            public override void Draw()

            {

                // Code to draw a circle...

                Console.WriteLine("Drawing a circle");

                base.Draw();

            }

        }

        class Rectangle : Shape

        {

            public override void Draw()

            {

                // Code to draw a rectangle...

                Console.WriteLine("Drawing a rectangle");

                base.Draw();

            }

        }

        class Triangle : Shape

        {

            public override void Draw()

            {

                // Code to draw a triangle...

                Console.WriteLine("Drawing a triangle");

                base.Draw();

            }

        }

        class Program

        {

            static void Main(string[] args)

            {

                List<Shape> shapes = new List<Shape>();

                shapes.Add(new Rectangle());

                shapes.Add(new Triangle());

                shapes.Add(new Circle());

                foreach (Shape s in shapes)

                {

                    s.Draw();

                }

                Console.WriteLine("press any key to exit.");

                Console.ReadKey();

            }

        }

     

  • 相关阅读:
    用.NET Compact Framework创建图像按钮
    .netCF中后台多线程与UI界面交互的冻结问题
    参考网站
    PPC全屏(C#)(转)
    推荐一个.net cf的开源网站
    在Windows Mobile中应用智能设备框架(Smart Device Framework)
    使用飞信框架(Remotesoft DOTNET Linker)使.net程序脱离.net框架运行
    .NET CF 能不能快一点?
    jquery中文指导:15天学会jquery]]
    .NET CF开发的源代码级优化器(C#)(Alpha)
  • 原文地址:https://www.cnblogs.com/lqsilly/p/2917609.html
Copyright © 2011-2022 走看看