我是靠谱客的博主 失眠纸飞机,最近开发中收集的这篇文章主要介绍鸭子类型与多态鸭子类型与多态,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

鸭子类型与多态

什么是多态?

通俗点说,就是 不同的对象干同一件事或行为,表现出不同的状态。

首先来看下java如何实现多态。

java实现多态有两种方式,继承和接口,通过继承演示多态的实现

 // 多态
public class Polymorphism{
     abstract static class Animal {
         public abstract void say();
     }

     static class Duck extends Animal{

         @Override
         public void say() {
             System.out.println("我是鸭子");
         }
     }

     static class Dog extends Animal{

         @Override
         public void say() {
             System.out.println("我不是狗,我是鸭子");
         }
     }
     public static void say(Animal animal){
         animal.say();
     }
     public static void main(String[] args) {
         say(new Dog());
         say(new Duck());
     }
 }

什么是鸭子类型?

当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。

python实现多态是通过鸭子类型

不关注对象的类型,而是关注对象具有的行为 (方法)

Dog和Duck都可以say,都有__init__,可以看做同一种鸭子

a,b,c都是迭代类型,也可以看做同一种鸭子

class Dog(object):

    def __init__(self):
        pass

    def say(self):
        print("我不是狗,我是鸭子")


class Duck(object):
    def __init__(self):
        ...

    def say(self):
        print("我是真正的鸭子")


if __name__ == '__main__':
    ducks = (Dog, Duck)
    for duck in ducks:
        duck().say()
    
    a=[1,2]
    b=(3,4)
    c={5,6}
    a.extend(b)
    a.extend(c)
    print(a)

最后

以上就是失眠纸飞机为你收集整理的鸭子类型与多态鸭子类型与多态的全部内容,希望文章能够帮你解决鸭子类型与多态鸭子类型与多态所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部