成類者,格其類而知其律,其律有常定之物事、不定之物事也。窮極律而不足表者,行成類之法也。成類之法有三,實法、類法、靜法也。實法,曰實例方法也,蚺術也。入己身而行其術也。類法,曰類別方法也,裝飾器也。入成類者而行其術也。靜法,曰靜態方法也,亦裝飾器也,入物而行其術也。今釋其法皆以前例示之。
class 人:
五官 = '眼耳鼻口舌'
五常 = '仁義禮智信'
def __init__(名, 歲, 男, 女, 族, 高, 重):
名.歲 = 歲
名.男 = 男
名.女 = 女
名.族 = 族
名.高 = 高
名.重 = 重
劉畛 = 人(20,True,False,'漢',80,100)
實法者,入己身而行其術也。蓋其律之物事皆入也,是故行術以其物事也。實法之法,同蚺術,唯己身必入也,其己身之名自定也。譬如欲知劉畛
是男乎,則可行實法也,欲書其重,亦可。
class 人:
五官 = '眼耳鼻口舌'
五常 = '仁義禮智信'
def __init__(名, 歲, 男, 女, 族, 高, 重):
名.歲 = 歲
名.男 = 男
名.女 = 女
名.族 = 族
名.高 = 高
名.重 = 重
def 男否(名):
if 名.男:
print('此人男矣')
else:
print('此人非男矣')
def 書其重(名):
print(f'此人重{名.重}斤也')
劉畛 = 人(20,True,False,'漢',80,100)
# 欲行其實法,亦己身之名點其實法也
劉畛.男否()
劉畛.書其重()
實法男否()
得此人男矣
,實法書其重()
得此人重100斤也
。
類法者,入成類者而行其術也。蓋其入己身之類也,是故常定者必知,不定者必不知也。類法之法,裝飾器,曰@classmethod
也。其餘同蚺術也,唯不定之物事必不入也。譬如人
有五官
,常定也。人
雖有歲
,不定也。書其二。
class 人:
五官 = '眼耳鼻口舌'
五常 = '仁義禮智信'
def __init__(名, 歲, 男, 女, 族, 高, 重):
名.歲 = 歲
名.男 = 男
名.女 = 女
名.族 = 族
名.高 = 高
名.重 = 重
def 男否(名):
if 名.男:
print('此人男矣')
else:
print('此人非男矣')
def 書其重(名):
print(f'此人重{名.重}斤也')
@classmethod
def 書五官(類):
print(f'蓋{類.五官}')
@classmethod
def 書其歲(類):
print(f'蓋{類.歲}')
劉畛 = 人(20,True,False,'漢',80,100)
劉畛.書五官()
劉畛.書其歲()
類法書五官()
得眼耳鼻口舌
,類法書其歲()
報錯,其不定,故不知歲何如也。
print(f'蓋{類.歲}')
AttributeError: type object '人' has no attribute '歲'
靜法者,入物而行其術也。蓋不入成類之物事也,唯入物也。靜法之法,裝飾器,曰@staticmethod
也。其餘同蚺術,唯入物,成類之物事皆不入矣。譬如人
皆可言世間好乎?
,不入物而行也。人
小時皆讀九九歌而知九九乘法也,問一一得幾,入1
及1
而行也。
class 人:
五官 = '眼耳鼻口舌'
五常 = '仁義禮智信'
def __init__(名, 歲, 男, 女, 族, 高, 重):
名.歲 = 歲
名.男 = 男
名.女 = 女
名.族 = 族
名.高 = 高
名.重 = 重
def 男否(名):
if 名.男:
print('此人男矣')
else:
print('此人非男矣')
def 書其重(名):
print(f'此人重{名.重}斤也')
@classmethod
def 書五官(類):
print(f'蓋{類.五官}')
@classmethod
def 書其歲(類):
print(f'蓋{類.歲}')
@staticmethod
def 言世間():
print('世間好乎?')
@staticmethod
def 問乘法(被乘數, 乘數):
print(f'{被乘數}{乘數}得{被乘數*乘數}')
劉畛.言世間()
劉畛.問乘法(1, 1)
靜法言世間()
得世間好乎?
。靜法問乘法(1, 1)
得11得1
也。皆無關乎成類之物事也。