Python面向对象 ----多态特性

目录

 

一.多态

多态就是不同子类对象调用父类的方法产生不同的结果。

二.使用不同的支付工具给商店支付钱

(1)思路:

首先人去商店买东西,要付钱,先要有人

然后人要选择支付工具,要有支付方式:

我们最近的支付方式有:支付宝支付,苹果支付........

最后人消费的这个行为,人用什么支付工具,要支付多少钱

(2)代码:

三.文件系统

(1)要求:

(2)代码:


一.多态

多态就是不同子类对象调用父类的方法产生不同的结果。


二.使用不同的支付工具给商店支付钱


(1)思路:

  • 首先人去商店买东西,要付钱,先要有人

  • 然后人要选择支付工具,要有支付方式:

  • 我们最近的支付方式有:支付宝支付,苹果支付........

  • 最后人消费的这个行为,人用什么支付工具,要支付多少钱

(2)代码:

import abc
 
 
class Pay(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def pay(self, money): pass
 
 
class Alipay(Pay):
    def pay(self, money):
        print('支付宝到账{}元'.format(money))
 
 
class ApplePay(Pay):
    def pay(self, money):
        print('苹果支付{}元'.format(money))
 
 
class Person(object):
    def consumption(self, pay, money):
        pay.pay(money)
 
 
person = Person()
alipay = Alipay()
apple_pay = ApplePay()
person.consumption(alipay, 200)  # 支付宝到账200元
person.consumption(apple_pay, 100)  # 苹果支付100元

三.文件系统


(1)要求:

由小组长控制读和写

要求zs使用word,ls使用txt

(2)代码:

from abc import ABCMeta, abstractmethod
 
 
class File(metaclass=ABCMeta):
    @abstractmethod
    def read(self): pass
 
    @abstractmethod
    def write(self): pass
 
 
class Word(File):
    def read(self):
        print('很优雅的读...')
 
    def write(self):
        print('很优雅的写...')
 
 
class Txt(File):
    def read(self):
        print('很粗鲁的读...')
 
    def write(self):
        print('很粗鲁的写...')
 
 
zs = Word()
zs.read()  # 很优雅的读...
zs.write()  # 很优雅的写...
ls = Txt()
ls.read()  # 很粗鲁的读...
ls.write()  # 很粗鲁的写...

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值