6-1 设计Shape基类及Circle, Rectangle继承类(高教社,《Python编程基础及应用》习题9-7)分数 20
设计一个基类Shape,包括:
名为sName的属性(图形名称);
构造函数应对sName属性进行初始化。
设计Shape的继承类Rectangle, 包括:
长,宽两个属性;
构造函数调用Shape的构造函数,并初始化长,宽两个属性;
getArea()成员函数计算并返回矩形面积。
设计Shape的继承类Circle,包括:
半径属性;
构造函数调用Shape的构造函数,并初始化半径属性;
getArea()成员函数计算并返回圆形面积。
注意:请注意阅读测试样例程序以理解题目对类的接口的要求。
类接口定义:
classShape: ...
classRectangle(Shape): ...
classCircle(Shape): ...
裁判测试程序样例:
s1 = Shape("shape0")
s = input() #矩形名称w = float(input()) #矩形宽度h = float(input()) #矩形高度r1 = Rectangle(s,w,h)
s = input() #圆的名称r = float(input()) #圆的半径c1 = Circle(s,r)
print(s1.sName)
print("矩形%s面积: %.2f" % (r1.sName,r1.getArea()))
print("圆形%s面积: %.2f" % (c1.sName,c1.getArea()))
输入样例:
Jupyter
12.1
9.9
Moon
3.3
输出样例:
shape0
矩形Jupyter面积: 119.79
圆形Moon面积: 34.21
答案之一:
import math #导入math模块
class Shape: #定义一个Shape类def __init__(self,sName):self.sName = sNameself.__width = Noneself.__height = Noneself.__r = Noneclass Rectangle(Shape):def __init__(self,sName,width,height):self.sName = sNameself.width = widthself.height = heightdef getArea(self):return self.width * self.heightclass Circle(Shape):def __init__(self,sName,r):self.sName = sNameself.r = rdef getArea(self):return self.r ** 2 * math.pi
执行结果
![](/assets/blank.gif)
6-1 设计Shape基类及Circle, Rectangle继承类(高教社,《Python编程基础及应用》习题9-7)分数 20相关推荐
- 6-1 设计一个股票类(高教社,《Python编程基础及应用》习题9-6)
6-1 设计一个股票类(高教社,<Python编程基础及应用>习题9-6) (10 分) 设计一个名为Stock的类来表示一个公司的股票,包括以下内容: 1)股票代码.股票名称.前一天股票 ...
- 6-3 定义并实现Book类及其__del__函数(高教社,《Python编程基础及应用》习题9-4)
图书馆里有很多的书, 请定义一个名为Book的类.该类的属性包括书名(字符串),书号(字符串),单价(浮点数):该类的构造函数接受书名,书号及单价三个参数并参成对象初始化:该类的__del__()函数 ...
- python编程基础—类与对象
1.类的声明与定义 Python 是一门面向对象的语言. 面向对象编程 - Object Oriented Programming(简称 OOP)是一种编程思想,在面向对象编程中,把对象作为程序的基本 ...
- 【类、抽象与继承(练习)~python】
python 练习目录 类的练习 简单介绍-1 学生的多重身份 中西兼备的厨师 继承 练习 运行效果如下: 简单介绍-2 抽象 练习 运行效果如下: pandas 每日一练: 程序运行结果为: 31. ...
- Python编程基础16:类和对象
文章目录 零.本讲学习目标 一.面向对象 (一)程序员"面向对象" (二)两种编程思想实现五子棋 (三)面向过程 vs. 面向对象 (三)面向对象三大特点 1.封装(encapsu ...
- Python编程基础 第四章 编程练习 请定义一个Circle类,具体要求为:(1)每个Circle类对象可以存储圆心和半径信息;(2)具有设置圆心和半径的方法SetCenter和SetRadius
题目内容: 请定义一个Circle类,具体要求为:(1)每个Circle类对象可以存储圆心和半径信息:(2)具有设置圆心和半径的方法SetCenter和SetRadius:(3)具有计算圆面积的方法G ...
- python编程基础及应用(重庆大学):9-8 设计一个学生类
编写程序,设计一个学生类.包含姓名,学号及计数器三个属性,其中计数器属性用来统计实例化了多少个学生 #井号后的内容皆可不要 class Student:count=0 #类的计数属性def __ini ...
- 6-2 定义并实现身体质量指数类(高教社,《Python编程基础及应用》习题9-3)分数 20
按图施工,设计下述BMI类,用于计算身体质量指数.该指数等于体重(kg)除以身高(米)的平方. 相应的判定标准如下图所示. BMI类接口定义: classBMI: ... 其中,name为姓名,age ...
- Python编程基础20:实例成员与类成员
文章目录 零.本讲学习目标 一.类属性和实例属性 (一)类属性 1.概念 2.语法格式 (二)实例属性 1.概念 2.语法格式 (三)案例演示 二.类方法 (一)概念 (二)语法格式 (三)案例演示 ...
最新文章
- spring boot logback_SpringBoot集成logback后访问日志端点
- Protocol Buffer Basics: C#
- 第1章 Qt概述和下载安装及创建工程
- 两数组的交集(无重复)Intersection of Two Arrays
- 第二章:Android游戏开发之前台渲染
- php 中文字符串截取函数--比较好的
- java 九大内置对象_JSP九大内置对象(隐式对象)
- NameError: name ‘time‘ is not defined
- 百度英伟达联手推混合精度训练,同样性能只需一半内存 | 附论文
- 电脑办公技巧:他做了9小时的工作,我5秒就做完了
- Django - rest - framework - 下
- 《大白AI周报》精华内容整理汇总
- 大数据开源框架环境配置(一)——安装VMware
- 1038: 绝对值最大
- JAVA类计算机专业毕业设计题目课题选题
- 高德地图使用心得,百度地图使用心得
- 使用ansys workbench 的LSDYNA模块研究碰撞的接触设置
- 命令控制qq自动申请远程控制_代码详解
- matlab load save
- C语言为什么不能移植,C语言有可移植性强和可读性好等优点,而汇编语言的高效、快速等优点又是C语言所难以达...