zoukankan      html  css  js  c++  java
  • 面向对象的多态

    多态(Polymorphism)顾名思义就是多种状态。在面向对象语言中,多态是指一个实体同时具有多种形式,它是面向对象的一个重要特征。同一操作作用于不同的对象,可以有不同解释,产生不同的结果。多态要通过继承来实现。

    可以把不同的子类都当做父类来看,在运行时,可以通过指向几类的指针,来调用实现派生类中的方法,这样就屏蔽不同子类之间的差异,写出通用的代码,以适应需求的不断变化。

       public abstract class Animal

        {

            public abstract void Eat();

        }

     

        public class Cat : Animal

        {

            public override void Eat()

            {

                Console.WriteLine("Cat  Eat");

            }

        }

        public class Dog : Animal

        {

            public override void Eat()

            {

                Console.WriteLine("Dog    Eat");

            }

        }

     

       Animal animal = new Cat();

       animal .Eat(); //输出:Cat  Eat

        animal  = new Dog ();

       animal .Eat(); //输出:Dog    Eat

      这样父对象可以根据当前赋值给他的子对象的特性以不同的方式运作,也就是说父亲的行为像儿子,而不是儿子的行为像父亲。

      多态分为编译时多态和运行时多态:

      编译时多态是通过重载来实现的,对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。

      运行时多态性是指直到系统运行时,才根据实际情况来决定实现何种操作。在C#中,运行时的多态是通过虚成员来实现的。上面的例子体现的就是运行时多态性。

     

  • 相关阅读:
    完美解决php无法上传大文件分享
    完美解决php无法上传大文件问题
    完美解决php无法上传大文件思路
    完美解决php无法上传大文件功能
    IfcRightCircularCylinder
    IfcRightCircularCone
    IfcRectangularPyramid
    IfcBlock
    IfcCsgPrimitive3D
    IfcReparametrisedCompositeCurveSegment
  • 原文地址:https://www.cnblogs.com/shaosks/p/5238721.html
Copyright © 2011-2022 走看看