多态与多态性

一、多态

  多态性指的是同一种事物有多种形态,在python中,存在继承关系,父类的引用指向的是子类对象地址。

二、多态性

  对象可以在不用考虑对象具体类型的前提下,而直接使用对象。

   优点:同一化,简化对象的使用。

   对于开发者:多态性可以提供一套模板(父类),在这个模板基础下,可以进行扩展(子类)

   对应使用者:无需考虑使用对象的具体类型

    简单版:

    python不需要提前声明数据类型,不易察觉,但有多态的这个概念,一个父类可以有多种子类的形态。

class Animal:
    def speak(self):
        print('animal speak..')


class People(Animal):
    def talk(self):
        print('谈话')


class Dog(Animal):
    def wang(self):
        print('汪汪汪汪汪')


class Pig(Animal):
    def chi(self):
        print('吃吃吃吃吃')

an = Animal()
an.speak()
an = People()
an.talk()

    抽象类的定义

    让子类必须重写父类的函数

    1..import abc

    2.在父类()中添加metaclass=abc.ABCMeta

    3.在父类要求的函数添加装饰器@abc.abstractmethod

    注意:

    1.抽象类不能实例化

    2.所有的子类必须实现抽象方法

    3.抽象方法不能调用其它函数

  

import abc


class Animal(metaclass=abc.ABCMeta):
    def ss(self):
        pass

    @abc.abstractmethod
    def speak(self):
        print('animal speak..')

    @abc.abstractmethod
    def run(self):
        print('Animal run..')


class People(Animal):
    def talk(self):
        print('谈话')

    def speak(self):
        print('People speak..')

    def run(self):
        print('People run..')


class Dog(Animal):
    def wang(self):
        print('汪汪汪汪汪')

    def speak(self):
        print('Dog speak..')

    def run(self):
        print('run run..')


class Pig(Animal):
    def chi(self):
        print('吃吃吃吃吃')

    def speak(self):
        print('Pig speak..')

    def run(self):
        print('Pig run..')

 

转载于:https://www.cnblogs.com/linbin7/p/11124568.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值