# -*- coding: utf-8 -*
'''
前言:这是我自己想出来的方法,我不知道是否有人用过这种写类的方法,我也没想出一个什么样名字来称呼它,反正我叫它简化类
之所以称之为简化类,是因为我没办法实现多重继承,但类的基本继承,重写还是实现了的
如果有兴趣的朋友请留下您保贵的建议或加我QQ:410177254 或 微信:carmelcarmen,让这个写法能更有创造性一些
'''
#Python简化类例一:实现在类的定义、继承、重写
def ClassTest1A(name):
'''
简化单并不是像教科书上说的通过class来定义,ClassTest1是类名,而o为类的实例,而构造方法直接写在ClassTest1上
简化类写法没有构造方法,整个代码段,只要不是和变量、方法定义相关的代码,都可以算是一个构造方法中运行的部份
'''
def o():pass
print("这里可以是ClassTest1中的构造方法")
def showName():
print("我的名字是%s"%name)
o.showName=showName;del showName
def showAge():
print("我的年龄不告诉你")
o.showAge=showAge;del showAge
print("这里可以也可以是ClassTest1中的构造方法")
return o
def ClassTest1B(name,age):
'''ClassTest1B是ClassTest1A的子类,继承了showName方法,并重写了showAge方法'''
o=ClassTest1A(name)
def showAge():
print("我的年龄是%d"%age)
o.showAge=showAge;del showAge
print("这里是ClassTest2中的构造方法")
return o
t11=ClassTest1A("蔡彦铭")
t12=ClassTest1B("小蔡蔡",6)
t21=ClassTest1A("老王")
t22=ClassTest1B("小王",7)
t11.showName() #我的名字是蔡彦铭
t11.showAge() #我的年龄不告诉你
t12.showName() #我的名字是小蔡蔡
t12.showAge() #我的年龄是6
t21.showName() #我的名字是老王
t21.showAge() #我的年龄不告诉你
t22.showName() #我的名字是小王
t22.showAge() #我的年龄是7
Python简化类例一:实现在类的定义、继承、重写
最新推荐文章于 2021-01-14 09:30:44 发布