面向对象 继承
利用封装和继承的特性完成如下操作:
小学生:
属性:
姓名
学号
年龄
性别
行为:
学习
打架
中学生:
属性:
姓名
学号
年龄
性别
行为:
学习
谈恋爱
大学生:
属性:
姓名
学号
年龄
性别
行为:
学习
打游戏
测试类中:
创建小学生对象
调用学习的方法
打印内容为: xx 学习的内容为:语文数学 英语
创建中学生对象
调用学习的方法
打印内容为:xx 学习的内容为:语数外生物化 史地政
创建大学生对象
调用学习的方法:
打印内容为: 逃课中。。。。。。
父类模块
class Father():
def __init__(self,name,sno,age,sex):
self.name=name;
self.sno=sno;
self.age=age;
self.sex=sex;
@property
def name(self):
return self.__name;
@name.setter
def name(self,name):
self.__name=name;
@property
def sno(self):
return self.__sno;
@sno.setter
def sno(self, sno):
self.__sno = sno;
@property
def age(self):
return self.__age;
@age.setter
def age(self, age):
self.__age = age;
@property
def sex(self):
return self.__sex;
@sex.setter
def sex(self, sex):
self.__sex = sex;
def action(self):
print('学习');
小学生模块
第一行代码是调用父类模块
from class1.zuoye.diertian.diyiti.father import Father;
class XiaoXueSheng(Father):
def __init__(self,name,sno,age,sex):
super().__init__(name,sno,age,sex);
def action(self):
print('小学生%s学习的内容为:语文 数学 英语'%(self.name));
def action1(self):
print('打架');
中学生模块
第一行代码是调用父类模块
from class1.zuoye.diertian.diyiti.father import Father;
class ZhongXueSheng(Father):
def __init__(self,name,sno,age,sex):
super().__init__(name,sno,age,sex);
def action(self):
print('中学生%s学习的内容为:语数外 生物化 史地政'%(self.name));
def action1(self):
print('谈恋爱');
大学生模块
第一行代码是调用父类模块
from class1.zuoye.diertian.diyiti.father import Father;
class DaXueSheng(Father):
def __init__(self,name,sno,age,sex):
super().__init__(name,sno,age,sex);
def action(self):
print('大学生逃课中。。。。。。');
def action1(self):
print('打游戏');
测试模块
调用父类、小学生、中学生、大学生模块
from class1.zuoye.diertian.diyiti.father import Father;
from class1.zuoye.diertian.diyiti.daxuesheng import DaXueSheng;
from class1.zuoye.diertian.diyiti.xiaoxuesheng import XiaoXueSheng;
from class1.zuoye.diertian.diyiti.zhongxuesheng import ZhongXueSheng;
def main():
x=XiaoXueSheng('张三',10000,10,'男');
z=ZhongXueSheng('李四',10001,15,'男');
d=DaXueSheng('王五',10010,20,'男');
x.action();
z.action();
d.action();
if __name__ == '__main__':
main();
还没有评论,来说两句吧...