实验三 类的继承和多态性

实验三 类的继承和多态性

1.(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长

(2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。

该类包含有成员变量:

radius:public 修饰的double类型radius,表示圆的半径。

x:private修饰的double型变量x,表示圆心的横坐标。

y:protected修饰的double型变量y,表示圆心的纵坐标。

包含的方法有:

Circle(double radius) 有参构造方法。以形参表中的参数初始化半径,圆心为坐标原点。 double getRadius():获取半径为方法的返回值。void setCenter(double x, double y):利用形参表中的参数设置类Circle的圆心坐标。void setRadius(double radius):利用形参表中的参数设置类Circle的radius域。

 

 

 

2.定义图形类Shape,该类中有获得面积的方法getArea();定义长方形类Rect,该类是Shape的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth()、setHeight(),使用getArea()求矩形面积;利用getArea方法实现题1中圆面积的求解。

package zhongqiuzuoye;public interface ShapePara {public  double getArea();public  double getCircumference();}

 

package zhongqiuzuoye;public class Circle implements ShapePara {public double radius;private double x;public double getRadius() {return radius;}public void setRadius(double radius) {this.radius = radius;}public double getX() {return x;}public void setX(double x) {this.x = x;}public double getY() {return y;}public void setY(double y) {this.y = y;}protected double y;public   Circle(double radius) {}void setCenter(double x, double y){this.x=x;this.y=y;}public double getArea() {return 3.14*radius*radius;}@Overridepublic double getCircumference() {// TODO 自动生成的方法存根return 0;}}
package zhongqiuzuoye;public class Shape {public void getArea(){}
}
package zhongqiuzuoye;public class Rect extends Shape{private double width;private double height;public double getWidth() {return width;}public void setWidth(double width) {this.width = width;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}Rect(double width,double height)         //带有两个参数的构造方法,用于将width和height属性初化;
    {this.width=width;this.height=height;}public void getArea()                    //求矩形面积的方法
    {System.out.println("矩形的面积为:"+width*height);}}

 

package zhongqiuzuoye;public interface A {public static void main(String args[]) {    Rect rect=new Rect(12.76, 25.28);                System.out.println("矩形对象的宽:"+rect.getWidth()+" 高:"+rect.getHeight()+"面积为:");    rect.getArea();}
}

 

转载于:https://www.cnblogs.com/zs6666/p/5898942.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ORA-01843:无效的月份

Oracle数据库默认情况下,会以DD-MON-YY的形式显示日期,其中DD是天数,MON是月份的前三个字母(大写),而YY是年份的最后两位。数据库实际上会为年份存储4位数字,但是默认情况下只会显示最后两位。 …

贪心策略取得最优解的条件_什么是贪心算法?

一、什么是贪心算法贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。(局部最优解,而不是整体最优解)贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题…

Devoxx第1天

参加Devoxx给我带来了足够的动力来发布我的第一篇博客文章。 我是第一次来这里,它的组织方式给我留下了深刻的印象。 目前有记录的最高发言人。 对我来说,选择演示文稿来参加是一个问题。 但是感谢组织者,所有活动都将在12月下旬在parleys.co…

Oracle 事务的开始与结束

事务是用来分割数据库活动的逻辑工作单元,事务即有起点,也有终点; 事物的处理就是保证数据操作的完整性,所有的操作要么成功要么同时失败。当下列事件之一发生时,事务就开始了:连接到数据库上,并…

http tcp联系区别

术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议。“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车…

python控件随窗口变化而适配_Tkinter窗口/控件比例调整

我目前正在为一个编程类开发一个pythongui版本的Reversi。我已经对游戏逻辑进行了编程,目前我正在尝试使用Tkinter实现GUI。我有一些问题,调整游戏板(根窗口)和它的一切(画布和形状)成比例。这款游戏目前还不错,但我试图让棋盘正确调整大小的…

Java递归基础

对于那些不知道递归是什么的人(并且像个笑声一样),请单击以下链接:Google搜索:递归,然后单击“您的意思是……”项。 希望您终于弄清楚了递归是指其自身的任何内容(如果不是,那么您可…

我是最棒的,我一定会成功!

有人曾经做过这样一个实验:他往一个玻璃杯里放进一只跳蚤,发现跳蚤立即轻易地跳了出来。再重复几遍,结果还是一样。根据测试,跳蚤跳的高度一般可达它身体的400倍左右,所以说跳蚤可以称得上是动物界的跳高冠军。     …

头部ct能检查出什么_【安全用药】做CT检查时应注意什么?

点击蓝字 关注我们安安徽徽,你知道做CT检查时应注意什么?上腹部CT检查前患者至少禁食6小时、检查前15分钟喝温开水充盈胃部、CT检查时,患者会受到一定量X射线辐射,应避免过度扫描......本期安全用药,大家一起来了解了解…

JAXB,SAX,DOM性能

这篇文章探讨了使用多种不同方法将XML文档编组为Java对象的性能。 XML文档非常简单。 它包含一个Person实体的集合。 <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <persons><person><id>person0</id>…

虚拟机Linux图形界面配置NAT-桥接

点开“虚拟机->设置->桥接模式&#xff08;勾选复制物理网络连接状态&#xff09;->确认” 点击“右上角扇形网络图标->Edit Connections->Wired->选中->Delete->Add->IPv4 Settings->Method(Manual)->Add->输入IP&#xff0c;子网掩码&am…

年轻人应该谨记的十点

有个朋友的孩子今年大学毕业&#xff0c;托我帮他找个“好工作”&#xff0c;而且再三强调&#xff0c;这关系到孩子的前途命运&#xff0c;要我一定要全力以赴。他&#xff0c;一个非名牌大学的计算机网络专业应届毕业生&#xff0c;没有工作经验&#xff0c;他能找一个什么样…

python自动化构建工具_Python自动化构建工具scons使用入门笔记

这段时间用到了scons&#xff0c;这里总结下&#xff0c;也方便我以后查阅。一、安装sconsLinux环境(以CentOS为例)1、yum安装yum install scons2、源码安装下载scons&#xff1a;http://http://jaist.dl.sourceforge.net/project/scons/scons/2.3.0/scons-2.3.0.zip安装scons&…

Java 8状态更新

即将到来的Java SE 8发行版的两大新语言功能是Lambda Expressions和Modularity。 对于这两者&#xff0c;这些天的状态更新已经发布。 我会与您共享链接&#xff0c;因此您可能会在假期中通读它们 Oracle计划在2013年中期发布Java SE 8。 Lambda项目 Lambda项目以及JSR-335希望…

java 18 - 6 TreeMap嵌套使用

HashMap嵌套HashMap   动物     犬类         哈士奇   2         萨摩耶   1     猫类        波斯猫   2        加菲猫   3 先存储元素&#xff0c;然后遍历元素 1 package map_son;2 3 import java.util.HashMap;4 import…

程序设计语言

程序设计语言使用于书写计算机程序的语言。程序设计语言有3个方面的因素&#xff0c;即语法&#xff0c;语义和语用。语法标识程序的结构或形式。语义表示程序的含义。语用表示程序与使用者的关系。 程序设计语言的发展史 程序的复杂性度量 1&#xff0c;代码行度量法 出错率&a…

python集合类型是一种具体的数据类型_Python3基础语法之集合类型

set也是一种组合数据类型&#xff0c;支持成员关系操作(in)、对象大小计算操作符(len())&#xff0c;并且是iterable。集合数据类型至少提供一个set.isdisjoin()方法&#xff0c;支持比较&#xff0c;也支持为逻辑操作(在集合用于联合、交叉等上下文中使用)。只有可哈希运算的对…

Linux 安装之U盘引导

说到装系统最简单的方法无非就是找个系统安装光盘来然后就一步一步慢慢的安装。简单是简单但好似大多数人好像都木有Linux的安装光盘。因此只能用U盘来模拟光盘的功能来装系统咯。 电脑上装有Windows 7现要装Linux变双系统。 安装Linux前的准备&#xff1a; 1、电脑上分出空闲的…

OSGi:简介

为基于Java的系统创建的OSGi提供了模块化系统的框架。 OSGi使得可以定义每个单独模块与其他模块的依赖关系&#xff0c;并使用户可以控制生命周期并动态更改系统的每个组件。 OSGi是一个规范&#xff0c;最常见的实现可以算作Equinox &#xff0c; Apache Felix和Knoplerfish 。…

一起动手打造个人娱乐级linux

我们使用电脑&#xff0c;一直以来用的都是windows&#xff0c;但是对于像我这种爱折腾的人来说&#xff0c;尝试使用linux系统应该是一种不错的体验。说到linux&#xff0c;许多人可能都没听过&#xff0c;或者知道的人对它印象是这样的&#xff1a; 然而&#xff0c;linux发展…