zoukankan      html  css  js  c++  java
  • 多态

    多态性:
    "多态性"一词最早用于生物学,指同一种种族的生物体谁染具有相同的本质
    特征,单在不同环境中可能呈现出不同的特性

    面向对象中多态是:
    同一操作用于不同类的实例,不同的类将进行不同的解释,最后产生不同
    的结果

    多态的具体实现方式:继承多态 和接口多态

    继承多态 例子1:

     class Program
        {
            static void Main(string[] args)
            {
                ShowPolymoephism();
                Fruit f = new Apple();
                PloymoephismMethod(f);
                f = new Pingapple();
                PloymoephismMethod(f);
                Console.ReadKey();
            }
    
    
            static void PloymoephismMethod(Fruit fruit)
            {
                fruit.GrowInArea();
            }
    
            static void ShowPolymoephism()
            {
                Fruit fruit;
                fruit = new Apple();
    
                fruit.GrowInArea();//我是苹果,南北方都可种植我
    
                fruit = new Pingapple();
                fruit.GrowInArea();//我是菠萝,南方都可种植我
                                   // 相同的代码输出不同的结果
            }
        }
    
        public abstract class Fruit
        {
            public abstract void GrowInArea();
        }
    
    
        public class Apple : Fruit
        {
            public override void GrowInArea()
            {
    
                Console.WriteLine("我是苹果,南北方都可种植我");
            }
        }
    
        public class Pingapple : Fruit
        {
            public override void GrowInArea()
            {
    
                Console.WriteLine("我是菠萝,南方都可种植我");
            }
        }

    父类提供抽象子类实现父类表达不同的实现。一个方法表达不同的结果。

    在使用多态时候把通用的放在抽象类中实现,把不一致的不一样的放到子类中分别实现。

    在多态的时候会存在有些方法子类不需要或者说不可以从父类继承,但是有些子类却需要这个方法,这样就可以用接口规定出来,子类去实现接口

  • 相关阅读:
    Docker Harbor安装和使用
    k8s部署使用Jenkins
    K8S之Deployment
    K8S之StatefulSet
    Gitlab数据迁移和版本升级
    centos7 编译安装git工具
    K8S之secret
    SonarQube的安装和使用
    Jenkins常用构建工具
    el-upload上传/预览时dialog宽自适应
  • 原文地址:https://www.cnblogs.com/-alvin/p/11429654.html
Copyright © 2011-2022 走看看