面向对象 继承

系统管理员 2022-05-29 00:29 372阅读 0赞

利用封装和继承的特性完成如下操作:

小学生:

属性:

姓名

学号

年龄

性别

行为:

学习

打架

中学生:

属性:

姓名

学号

年龄

性别

行为:

学习

谈恋爱

大学生:

属性:

姓名

学号

年龄

性别

行为:

学习

打游戏

测试类中:

创建小学生对象

调用学习的方法

打印内容为: xx 学习的内容为:语文数学 英语

创建中学生对象

调用学习的方法

打印内容为:xx 学习的内容为:语数外生物化 史地政

创建大学生对象

调用学习的方法:

打印内容为: 逃课中。。。。。。

父类模块

  1. class Father():
  2. def __init__(self,name,sno,age,sex):
  3. self.name=name;
  4. self.sno=sno;
  5. self.age=age;
  6. self.sex=sex;
  7. @property
  8. def name(self):
  9. return self.__name;
  10. @name.setter
  11. def name(self,name):
  12. self.__name=name;
  13. @property
  14. def sno(self):
  15. return self.__sno;
  16. @sno.setter
  17. def sno(self, sno):
  18. self.__sno = sno;
  19. @property
  20. def age(self):
  21. return self.__age;
  22. @age.setter
  23. def age(self, age):
  24. self.__age = age;
  25. @property
  26. def sex(self):
  27. return self.__sex;
  28. @sex.setter
  29. def sex(self, sex):
  30. self.__sex = sex;
  31. def action(self):
  32. print('学习');

小学生模块

第一行代码是调用父类模块

  1. from class1.zuoye.diertian.diyiti.father import Father;
  2. class XiaoXueSheng(Father):
  3. def __init__(self,name,sno,age,sex):
  4. super().__init__(name,sno,age,sex);
  5. def action(self):
  6. print('小学生%s学习的内容为:语文 数学 英语'%(self.name));
  7. def action1(self):
  8. print('打架');

中学生模块

第一行代码是调用父类模块

  1. from class1.zuoye.diertian.diyiti.father import Father;
  2. class ZhongXueSheng(Father):
  3. def __init__(self,name,sno,age,sex):
  4. super().__init__(name,sno,age,sex);
  5. def action(self):
  6. print('中学生%s学习的内容为:语数外 生物化 史地政'%(self.name));
  7. def action1(self):
  8. print('谈恋爱');

大学生模块

第一行代码是调用父类模块

  1. from class1.zuoye.diertian.diyiti.father import Father;
  2. class DaXueSheng(Father):
  3. def __init__(self,name,sno,age,sex):
  4. super().__init__(name,sno,age,sex);
  5. def action(self):
  6. print('大学生逃课中。。。。。。');
  7. def action1(self):
  8. print('打游戏');

测试模块

调用父类、小学生、中学生、大学生模块

  1. from class1.zuoye.diertian.diyiti.father import Father;
  2. from class1.zuoye.diertian.diyiti.daxuesheng import DaXueSheng;
  3. from class1.zuoye.diertian.diyiti.xiaoxuesheng import XiaoXueSheng;
  4. from class1.zuoye.diertian.diyiti.zhongxuesheng import ZhongXueSheng;
  5. def main():
  6. x=XiaoXueSheng('张三',10000,10,'男');
  7. z=ZhongXueSheng('李四',10001,15,'男');
  8. d=DaXueSheng('王五',10010,20,'男');
  9. x.action();
  10. z.action();
  11. d.action();
  12. if __name__ == '__main__':
  13. main();

发表评论

表情:
评论列表 (有 0 条评论,372人围观)

还没有评论,来说两句吧...

相关阅读

    相关 面向对象-继承

    继承: 1、提高了代码的复用性 2、让类与类之间产生了关系,有了这个关系,才有了多态的特性。 注意:千万不要为了获取其他类的功能,简化代码而继承。 必

    相关 面向对象 继承

    利用封装和继承的特性完成如下操作: 小学生: 属性: 姓名 学号 年龄 性别 行为: 学习 打架 中学生: 属性: 姓名 学号 年龄 性别 行为

    相关 面向对象——继承

    继承的特点 1,描述类与类之间的关系 2,降低类和类之间的重复代码 3,降低对象和对象之间的代码重复使用静态变量 4,降低类与类之间的代码重复使用就用继承

    相关 面向对象继承

    今日类容 1.什么是继承 2.继承的基本语法 3.继承与抽象 4.属性的查找顺序 5.派生与覆盖 6.如何实现一个可以限制元素的类型的列表 7.子类访问父类的内容