实验三 类的继承和多态性

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

实验三 类的继承和多态性相关推荐

  1. C++实验八——类的继承(2)

    实验报告 题目1 题目2 [实验名称] 实验八 类的继承(2) [实验内容] 题目1 正确使用类的继承和组合进行类的设计,分别表示房间.休息室.教室.投影仪,沙发,为每个类设置适当的成员变量.成员函数 ...

  2. C++实验七——类的继承(1)

    实验报告 题目1 题目2 [实验名称] 实验七 类的继承(1) [实验内容] 题目1 以动物类为父类进行派生,设计可行的派生类,为派生类增加必要的成员,并对父类中的成员做适当调整,在主程序中对派生类的 ...

  3. java实验33 类的继承2_java实验2 类的继承性

    实验2 类的继承性 一.实验目的 掌握面向对象的继承性在Java中的实现方法:掌握super关键字的用法,体会抽象类和抽象方法的作用. 二.实验内容 1.程序理解: 1)类的继承 2)第4章课后编程第 ...

  4. java类接口实验_实验3_Java类的继承和接口的定义和使用

    本次有三题:学会Java类的继承.接口的定义和使用 // Ex3_1.java /** * 题目要求: * 修改例5.7(P95)实现在页面中拖动鼠标画出矩形,矩形的对角线为点击并拖动鼠标形成的直线线 ...

  5. Java(实验三)类与对象-定义并实现一个长方体类(Cube),包含长(length)、宽(width)与高(height)等三个属性

    一.实验目的: 1.学会定义并实现类. 2.学会定义并创建类的对象,通过类的对象访问类的成员属性与方法. 3.学会定义并实现派生类,学会使用派生类的对象. 4.理解并学会使用类的多态性. 二.实验环境 ...

  6. C++程序设计基础实验-实验三 类和对象

    一. 实验目的 掌握类的定义及实例化 掌握类的几种构造函数和析构函数 掌握类的成员访问控制 二.实验内容 设计点类 Point,能够表示平面当中的任意点 (1)数据成员包括两点坐标(x,y),成员函数 ...

  7. 实验三 类和对象

    一.实验内容 1.graph类内容补充 代码如下: #ifndef GRAPH_H #define GRAPH_H// 类Graph的声明 class Graph {public:Graph(char ...

  8. 实验5 类的继承、派生和多态(2)

    1.设计并实现一个机器宠物类MachinePets. #include<iostream> #include<string> using namespace std; clas ...

  9. 实验三 类与对象(zxt)

    //以下为课上的实现虚数相加的内容,以及我的疑惑(懵逼) 这个代码存在问题,只能运行整数不能运行浮点数,以下为2.0版本 这回的又有一些问题,这个源代码是老师ppt上的,main函数中的部分是我写的. ...

最新文章

  1. OAuth2.0 基础概述
  2. JUnit3 一次运行多个测试类和进行多次重复测试:使用测试套件和RepeatedTest
  3. Windows下Mysql 的安装和卸载
  4. 命令界面:使用Java中的动态API处理Redis
  5. linux shc shell脚本_详解shell脚本加密解密软件—gzese和shc
  6. 小程序学习(2):vs code 安装插件
  7. python stdout清空_python中stdout输出不缓存的设置方法
  8. mysql 存在也插入_Mysql 不存在则插入,存在则更新
  9. perl脚本中的ENDOFINPUT
  10. 你知道嵌入式开发主要做什么吗?
  11. meta禁用浏览器缓存
  12. oracle基础|什么是数据库操作语言|什么是DDL、DML、DCL
  13. [爬虫笔记01] Ajax爬取今日头条文章
  14. 苹果蓝牙耳机太贵了买哪个替代?苹果蓝牙耳机平替推荐
  15. 程序员,你应该读读这些书(豆瓣高分8.0 )
  16. Web指纹识别器系列1:开源项目搜集和反思
  17. IDEA太强悍了!java导出excel合并单元格边框设置
  18. matlab中希腊符号在哪,在MATLAB中 希腊字母是怎么输入的
  19. 中国烟酰胺单核苷酸(NMN)行业研究与投资预测报告(2022版)
  20. QPS\TPS指的是什么?怎样测试一个接口得QPS

热门文章

  1. UITextField实现左侧空出一定的边距
  2. 自定义实现moveable button
  3. easyui源码翻译1.32--ValidateBox(验证框)
  4. Sublime text 2下alignment插件无效的解决办法
  5. POJ1459-Power Network
  6. 网页复选框设置只能选一个_男生在密室呆一个月, 只能选手机或者女人, 结果太现实...
  7. numpy T、transpose()函数、swapaxes()函数
  8. PostGIS之路——几何对象编辑(二)
  9. 详解虚拟机中为Linux添加硬盘
  10. 选择与循环:剪刀石头布_Python之石头剪刀布小游戏(史上最详细步骤)