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();

            }

        }

     

  • 相关阅读:
    JavaScript内置对象
    微信小程序:实现可拖动悬浮图标(包括按钮角标的实现)
    项目1——博客系统
    在HTML中使用css3实现雪人动画效果
    Ajax请求后台发送String类型总是进入Error function解决办法总结
    原生js实现图片懒加载
    【Electron Playground 系列】自定义协议篇
    大规格文件的上传优化
    如何优雅的在react-hook中进行网络请求
    noip2008 双栈排序
  • 原文地址:https://www.cnblogs.com/lqsilly/p/2917609.html
Copyright © 2011-2022 走看看