day 25インタフェースクラス抽象クラスパッケージ


復習:
#    :         
# *****
# , ,
# ,
# ,
# self , self
# ***
# :
# : ,
# .mro ,
# python3 super ,

#   :Python     
# :Python
#
# :
# , —— java
# , —— java
from abc import abstractmethod,ABCMeta
class Payment(metaclass=ABCMeta): # type
@abstractmethod
def pay(self,money):pass #
class Wechat(Payment):
def pay(self,money):
print(' %s '%money)
class Alipay(Payment):
def pay(self,money):
print(' %s ' % money)
class Applepay(Payment):
def pay(self,money):
print(' applepay %s ' % money)
def pay(pay_obj,money): #
pay_obj.pay(money)

app = Applepay()
p = Payment()

#     
import abc # abc
class All_file(metaclass=abc.ABCMeta):
all_type='file'
@abc.abstractmethod # ,
def read(self):
' '
with open('filaname') as f:
pass

@abc.abstractmethod # ,
def write(self):
' '
pass

class Txt(All_file): # , read write
def read(self):
print(' ')
def write(self):
print(' ')

class Sata(All_file): # , read write
def read(self):
print(' ')

def write(self):
print(' ')

class Process(All_file): # , read write
def read(self):
print(' ')

def write(self):
print(' ')

wenbenwenjian=Txt()

yingpanwenjian=Sata()

jinchengwenjian=Process()

# ,
wenbenwenjian.read()
yingpanwenjian.write()
jinchengwenjian.read()

print(wenbenwenjian.all_type)
print(yingpanwenjian.all_type)
print(jinchengwenjian.all_type)

from abc import abstractmethod,ABCMeta
class Swim_Animal(metaclass=ABCMeta):
@abstractmethod
def swim(self):pass

class Walk_Animal(metaclass=ABCMeta):
@abstractmethod
def walk(self):pass

class Fly_Animal(metaclass=ABCMeta):
@abstractmethod
def fly(self):pass

class Tiger(Walk_Animal,Swim_Animal):
def walk(self):
pass
def swim(self):
pass
class OldYing(Fly_Animal,Walk_Animal):pass
class Swan(Swim_Animal,Walk_Animal,Fly_Animal):pass
#



# :
# ,
# ,
# :
# java :
# java ,
# , java , Interface

# python
# python :
# python class
# python :
# python

#            :     ,             
#

# ——
#
class Person:
__key = 123 #
def __init__(self,name,passwd):
self.name = name
self.__passwd = passwd #
def __get_pwd(self): #
return self.__passwd # , _
def login(self): #
self.__get_pwd()
alex = Person('alex','alex3714')
print(alex._Person__passwd) # _ __
print(alex.get_pwd())

#
#
#
#
#

#    python       
# def func(int num,str name):
# pass
#
# func('alex',2)
# class Payment:pass

# class Alipay():
# def pay(self,money):
# print(' %s ' % money)
#
# class Applepay():
# def pay(self,money):
# print(' applepay %s ' % money)
#
# def pay(pay_obj,money): #
# pay_obj.pay(money)
#
# pay()

#
# python
#
# list tuple
#
# 。
# , ,
# list tuple , ,
# :
# : ,

class List():
def __len__(self):pass
class Tuple():
def __len__(self):pass

def len(obj):
return obj.__len__()

l = Tuple()
len(l)
#
# #
# # python
# python





転載先:https://www.cnblogs.com/Murraya/p/11209906.html