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

            }

        }

     

  • 相关阅读:
    20145220韩旭飞《网络对抗》第一周学习
    学号20145220假期复习
    最简单易懂的Idea搭建SSM项目过程和配置(文末有demo哦)
    Navicate快捷键
    String.format()方法
    tomcat点击startup.bat出现闪退
    Shiro使用总结
    layer弹出层icon图标记录
    传统javabean与spring中的bean的区别【转】
    在Spring + SpringMVC + mybatis架构的项目基础上集成Shiro
  • 原文地址:https://www.cnblogs.com/lqsilly/p/2917609.html
Copyright © 2011-2022 走看看