1.抽象类的使用方法 2.多态的实现

import  abc

class  user(metaclass = abc.ABCMeta):

  #属性  

  username=''

  #方法

  #添加用户

  @abc.abstractmethod

  def add (self,name,pwd):

    pass

  #删除用户

  @abc.abstractclassmethod

  def.dele (cls,pp):

    pass

  #修改用户

  @abc.abstractstaticmethod

  def mod():

    pass

  #发现用户

  def find (self):

    print('查找‘)

 

class UFUser(user)

  def add(self,name,pwd):

    print('增添用户‘)

 

class YJUser(UFUser):

  @classmethod

  def dele(cls,dd):

    print('删除用户')

 

class SYUser(YJUser):

  @staticmethod

  def mod():

    print('修改用户‘)

 

user = SYUser

#添加操作

user.add('瑞鑫‘,’222‘)

 

#删除操作

user.dele(222)

#修改操作

user.mod

#查找操作

user。find()

 

-----------------------------------------------------------------------

 

#多态的实现

 

#1.设计抽象类 

import abc

class Animal(metaclass = abc.ABCMeta):

  @abc.abstractmethod

  def niao (self):

    pass

  @abc.abstractmethod

  def la (self):

    pass

  @abc.abstractmethod

  def jiao(self):

    pass

#定义小狗类

class Dog(Animal):

  def niao(self):

    print('小狗叫‘)

  def la(self):

    print('厕所‘)

  def jiao(self)

    print('小狗叫‘)

#定义小猫类

class Chick(Animal):

  def niao(self):

    print('小鸡叫‘)

  def la(self):

    print('嘿嘿嘿‘)

  def jiao(self):

    print('小鸡叫’)

 

#动物行为类

  #定义初始化方法

  def __init__(self,animal):

    #将动物存入对象成员

    self.animal = animal

def niao(self):

  self.animal.niao()

def la(self):

  self.animal.la()

def jiao(self):

  self.animal.jiao()

 

#实例化小狗

xiaohei = Dog()

#实例化小猫

miaomiao = Cat()

#实例化小鸡

huahua=Chick()

#实例化行为类对象

a = Action(xiaohei)

#调用行为对象中的动物

a.niao()

a.jiao()

a.la()

 

 

class  Chick(Animal):

def niao(self):

    print('小猫叫‘)

  def la(self):

    print('哈哈哈‘)

  def jiao(self):

    print('小猫瞄’)

 

转载于:https://www.cnblogs.com/hao-jiang-tao/p/7867738.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值