5月22日
今天上午上了python课和工程数学,python完成了实验二
Python 面向对象基础训练
【实验编号】
【实验专责】
刘立嘉;
【实验目的】
使学生掌握 Python 下类与对象的基本应用;
使学生掌握 Python 下继承与多态的基本应用;
使学生掌握 Python 接口的基本应用;
使学生掌握 Python 异常处理的基本应用;
【实验环境】
所需硬件环境为微机;
所需软件环境为 Pyhton 3.x 等;
【实验准备】
掌握 Python 下类与对象、继承与多态的基本概念与应用;
掌握 Python 下接口的基本概念与应用;
掌握 Python 下异常处理的基本概念与应用;
【实验学时】
4 学时;
【实验内容】
练习 Python 下类与对象的基本应用的程序设计;
练习 Python 下继承与多态的基本应用的程序设计;
练习 Python 下接口的基本应用的程序设计;
练习 Python 下异常处理的基本应用的程序设计;
撰写实验报告、实验自评及心得体会;
【实验过程】
(一)、设计高校人员信息包,并完成测试;(写到实验报告中,要有程序测试截图)
【题目描述】Python 程序设计
石家庄铁道大学 信息学院 刘立嘉
2
定义一个人员类 People,其属性有:姓名、性别、年龄;基于 People 实现学生类 Student,
添加属性:学号、入学时间和入学成绩;基于 People 实现教师类 Teacher,添加属性:职务、
部门、工作时间;基于 Student 实现究生类 Graduate,添加属性:研究方向和导师,分别定
义其中的构造函数和输出函数。程序中定义各种类的对象,并完成测试。 基于以上类利用
接口实现在职研究生类 GradOnWork。
(二)、以圆类为基础设计三维图形体系(写到实验报告中,要有程序测试截图)
【题目描述】
设计三维图形类体系,要求如下:
设计三维图形功能接口,接口包含周长、面积、体积计算方法;
基于以上接口,首先定义点类,应包含 x,y 坐标数据成员,坐标获取及设置方法、显
示方法等;
以点类为基类派生圆类,增加表示半径的数据成员,半径获取及设置方法,重载显示函
数,并可计算周长和面积等;
以圆类为基础派生球类、圆柱类、圆锥类;要求派生类球、圆柱、圆锥中都含有输入和
输出显示方法;并可计算面积、周长。
程序中定义各种类的对象,并完成测试。
(三)、设计并实现计算不同职称的教师工资(写到实验报告中,要有程序测试截图)
【题目描述】
设计教师接口,该接口包含教师工资计算方法。应用(一)中的高校人员信息包,设计
不同职称的教师类:教授,副教授,讲师,教师的基本信息包括姓名、性别、出生年月、职
称、课时工作量等属性。注意学校对教师每月工资的计算规定如下:固定工资+课时补贴;
教授的固定工资为 5000 元,每个课时补贴 50 元;副教授的固定工资为 3000 元,每个课时
补贴 30 元;讲师的固定工资为 2000 元,每个课时补贴 20 元。
程序中定义各种教师类的对象,并编写程序求这些教师的月工资。
(四)、设计异常处理类 Cexception,并基于异常处理类设计并实现日期类 Date(写
到实验报告中,要有程序测试截图)
【题目描述】
定义一个异常类 Cexception 解决日期类实现中的自定义异常处理。设计的日期类应包
含以下内容:
①
有三个成员数据:年、月、日;
②
有设置日期的成员函数;
③
有用格式"月/日/年"输出日期的成员函数;
④
要求在日期设置及有参构造函数中添加异常处理。
[注意事项]
闰年的 2 月的天数为 29 天,其它年份 2 月 28 天;闰年是指:年份能被 4 且不能被
100 整除,或者年份能被 400 整除; 注意日期间的关联;
程序中定义各种日期对象并测试。
(五)、设计并实现平面点类 Point(写到实验报告中,要有程序测试截图)
【题目描述】
定义一个平面点类 Point,对其重载运算符关系运算符,关系运算以距离坐标原点的远Python 程序设计
近作为基准,远的为大。程序完成对其的测试。
(六)、问题思考(写到实验报告中)
结合实例,比较 Python 与 Java 在类的定义、继承、多态等方面的异同,总结 Python
面向对象程序设计中的原则和注意事项