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

    一、多态

      多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作,简单的说就是一句话:允许将子类类型的指针赋值给父类类型的指针。

      那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化:继承可以扩展已存在的代码模块(类):他们的目的都是为了--代码重用。而多态则是为了实现另一个目的--接口重用:多态的作用,就是为了类在继承和派生的时候,保证使用“家谱“中任一类的实例的某一属性时的正确调用。

      Python不支持多态并且也用不到多态,多态的概念是应用于Jave和C#这一类强类型语言中。

    二、通过Python模拟的多态

     1 class Animal(object):
     2     def __init__(self,name):
     3         self.name = name
     4     def talk(self):
     5         raise NotImplementedError("Subclass must implement abstract method")
     6 
     7 class Cat(Animal):
     8     def talk(self):
     9         return 'Meow'
    10 
    11 class Dog(Animal):
    12     def talk(self):
    13         return 'Woof! Woof!'
    14 
    15 animals = [Cat('Missy'),Dog('Lassie')]
    16 
    17 for animal in animals:
    18     print(animal.name + ':' + animal.talk())

      

  • 相关阅读:
    vim编辑器介绍
    Linux基本命令
    Linux之文档与目录结构
    远程连接Linux
    VMware与Centos系统安装之重置root密码
    关于学习观
    mysql行转列,函数GROUP_CONCAT(expr)
    <a>超链接标签,<button>按钮标签,实现返回跳转
    2019年10月20日第一次参加自学考试
    disabled属性对form表单提交的影响
  • 原文地址:https://www.cnblogs.com/Presley-lpc/p/9824463.html
Copyright © 2011-2022 走看看