实验三   面向接口编程

  • 一、实验目的及要求
    • 1.实验目的
    • 2.实验要求
  • 二、实验环境
  • 三、实验内容(实验方案、实验步骤、设计思路等)
  • 四、实验结果与分析
  • 五、附源代码

一、实验目的及要求

1.实验目的

  1. 掌握面向接口进行程序设计的核心思想;
  2. 掌握使用接口回调;
  3. 掌握使用接口实现程序设计对拓展开放,对修改关闭。

2.实验要求

  1. 深刻理解面向接口编程和“开-闭”原则;
  2. 能够定义接口变量并存放实现该接口的类和对象的引用;
  3. 实现接口变量可以回调类实现的接口方法。

二、实验环境

  1. 硬件要求:一台电脑(带Windows 10操作系统)
  2. 软件要求: JDK-14.0.2,Intellij IDEA 2020.1.2

三、实验内容(实验方案、实验步骤、设计思路等)

  1. 实验方案:先在编辑器中编写好代码,将编好的代码上机进行检验,看是否与预期一样。
  2. 实验步骤:在书上或网上找到相关算法,进行修改,上机检验,纠错。
  3. 设计思路:
    1. 定义接口,声明两·个abstract方法;
    2. 创建类,在类中定义若干个参数为接口类型的方法,通过实现接口的类的对象回调类重写的接口方法,实现相应功能,最后完成实验报告。

四、实验结果与分析

五、附源代码

package com.experimental;
interface IShape    //定义接口
{static final double PI=3.14;abstract double getArea();      //声明抽象方法abstract double getLength();    //声明抽象方法
}
class Circle implements IShape  //以IShape接口来实现Circle类
{double radius;public Circle(double r){radius=r;}public double getArea()     //实现接口中getArea()方法{return PI*radius*radius;}public double getLength()   //实现接口中getLength()方法{return 2*PI*radius;}
}
class Rectangle implements IShape   //以IShape接口来实现Rectangle类
{private double width;private double height;public Rectangle(double width,double height){this.width=width;this.height=height;}public double getArea() //实现接口中getArea()方法{return width*height;}public double getLength()//实现接口中getLength()方法{return 2*(width+height);}
}
public class one {      //主类public static void main(String[] args) {IShape circle=new Circle(4.0);      //声明父接口变量circle,指向子类对象System.out.print("圆面积="+circle.getArea());      //接口回调System.out.println(";周长="+circle.getLength());  //接口回调Rectangle rect=new Rectangle(6.5,10.8); //声明rectangle类的变量rectSystem.out.print("矩形面积="+rect.getArea());       //接口回调System.out.println(";周长="+rect.getLength());     //接口回调}
}

Java程序设计实验三 面向接口编程相关推荐

  1. linux实验三shell程序设计,实验三 LINUX SHELL编程

    精选文库 -实验三LINUX SHELL 编程 四.实验内容 本实验包含两个具体的SHELL程序编写任务,较为全面地涉及了SHELL 程序的设计方法和技术.内容如下: 1.创建以下菜单程序: USER ...

  2. Java程序设计 实验三

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计   班级:1353       姓名:李海空  学号:20135329 成绩:             指 ...

  3. Java 面向抽象编程和面向接口编程

    以下内容来自<Java 2实用教程>,主编:耿祥义.张跃平 鉴于面向抽象编程和面向接口编程思维培养的重要性,写此博客巩固. 面向抽象编程: 在设计程序时,经常会使用到abstract类,其 ...

  4. 黑马java教程是什么_Java教程:揭秘什么是面向接口编程

    先用一个案例来给大家说明一下面向接口编程. 案例:有一个电脑类(Computer),电脑除了有基本的开机关机功能外,还有连接任何外接设备的功能,比如能电脑能连接外置键盘(Keyboard),鼠标(Mo ...

  5. Java面向接口编程,低耦合高内聚的设计哲学

    接口体现的是一种规范和实现分离的设计哲学,充分利用接口可以极大的降低程序中各个模块之间的耦合,提高系统的可维护性以及可扩展性. 因此,很多的软件架构设计理念都倡导"面向接口编程"而 ...

  6. 20155229实验三 《Java面向对象程序设计实验三 敏捷开发与XP实践 》实验报告

    实验题目 1.在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能. 2.下载搭档实验二的Complex代 ...

  7. Java中的面向接口编程

    面向接口编程是很多软件架构设计理论都倡导的编程方式,学习Java自然少不了这一部分,下面是我在学习过程中整理出来的关于如何在Java中实现面向接口编程的知识.分享出来,有不对之处还请大家指正. 接口体 ...

  8. java继续_Java中消除实现继续和面向接口编程

    在匆忙之际理清消除实现继续和面向接口编程这样两个大题目可不是一件轻易的事情,尤其考虑到自身的熟悉水平.坦白的说,这又是一篇"炒冷饭"的文章,但这"冷饭"又确实不 ...

  9. Java中继承和面向接口的编程

    继承是面向对象中很重要的概念.如果考虑到Java语言特性,继承分为两种:接口继承和实现继承.这只是技术层面的问题,即便C++中不存在接口的概念,但它的虚基类实际上也相当于接口.对于OO的初学者来说,他 ...

  10. java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程

    多态 多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关). 2. 多态的存在 ...

最新文章

  1. nodejs在服务器上运行
  2. commons-lang3:ArrayUtils
  3. 自动化测试和手工测试
  4. python两两组合求和_LeetCode-python 40.组合总和 II
  5. redminote8自动关机怎么回事_红米Note8Pro手机值得入手吗 红米Note8Pro手机全面评测...
  6. 如何查询oracle的共享内存,[20190104]ipcs查看共享内存段.txt
  7. JS键盘字母相应的keyCode值
  8. OpenLayer学习之矢量地图
  9. 几何公差标注示例及解释——直线度
  10. 12_传智播客iOS视频教程_注释和函数的定义和调用
  11. “金三银四” 是找工作的最佳时期吗?
  12. 机器学习算法 | Python实现k-近邻算法
  13. Webservice-2
  14. 消费新品周报 | 奔富发布2019珍藏系列16款葡萄酒;欧乐-B推出AI电动牙刷
  15. oracle补丁集2020,Oracle发布2020年首批关键补丁更新,多达334个安全补丁
  16. SQL Server 判断时间是一年的第几周、星期几
  17. 操作系统学习- 二 -同步-信号量(semaphore)
  18. 泛播云服务器,什么是泛播技术?
  19. Laravel-Admin 自定义操作按钮大全(表格工具区域、行内操作按钮)
  20. 代码中能找到,但启动报错:required a bean of type ‘com.XXX‘ that could not be found.

热门文章

  1. 中交一公局二公司全面推进章管家 印章智慧管理转型在即
  2. 基于mt7621架构路由器编译auditord(生成ipk包)
  3. vscode c语言插件_推荐学习C语言或CPP使用的代码编辑器
  4. css 兼容解决方案,CSS的常见兼容性问题解决方案
  5. eset杀毒软件隔离区在哪里
  6. matlab实现双线性插值,使用双线性插值法放大图像(matlab实现)
  7. 如何驱动直流电机H桥驱动笔记
  8. 《人月神话》——2人月神话
  9. 卡尔曼滤波c语言程序,卡尔曼滤波算法及C语言实现
  10. Access2016学习16