java用接口、多态、继承、类计算三角形和矩形周长及面积的方法
作者:一羽清宁 发布时间:2021-10-24 22:15:46
标签:java,接口,多态,继承,类
本文实例讲述了java用接口、多态、继承、类计算三角形和矩形周长及面积的方法。分享给大家供大家参考。具体如下:
定义接口规范:
/**
* @author vvv
* @date 2013-8-10 上午08:56:48
*/
package com.duotai;
/**
*
*
*/
public interface Shape {
public double area();
public double longer();
}
/**
* @author vvv
* @date 2013-8-10 上午09:10:06
*/
package com.duotai;
/**
*
*
*/
public class Triangle implements Shape {
double s1;
double s2;
double s3;
// 初始化一个三角形对象,并赋予该三角形三边长
public Triangle(double s1, double s2, double s3) {
if (isTri(s1, s2, s3)) {
this.s1 = s1;
this.s2 = s2;
this.s3 = s3;
} else {
System.out.println("输入的三边长" + s1 + "、" + s2 + "、" + s3
+ "不能组成一个三角形,请重新输入三边长!");
}
}
// 判断是否是个三角形
public boolean isTri(double s1, double s2, double s3) {
if (s1 + s2 < s3) {
return false;
}
if (s1 + s3 < s2) {
return false;
}
if (s2 + s3 < s1) {
return false;
}
return true;
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#area()
*/
@Override
public double area() {
double p = (s1 + s2 + s3) / 2;
return Math.sqrt(p * (p - s1) * (p - s2) * (p - s3));
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#longer()
*/
@Override
public double longer() {
return s1 + s2 + s3;
}
}
/**
* @author vvv
* @date 2013-8-10 上午09:12:06
*/
package com.duotai;
/**
*
*
*/
public class Director implements Shape {
double s1;
double s2;
// 初始化一个长方形,并赋予该长方形两边长
public Director(double s1, double s2) {
this.s1 = s1;
this.s2 = s2;
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#area()
*/
@Override
public double area() {
// TODO Auto-generated method stub
return s1 * s2;
}
/*
* (non-Javadoc)
*
* @see com.duotai.Shape#longer()
*/
@Override
public double longer() {
// TODO Auto-generated method stub
return 2 * (s1 + s2);
}
}
/**
* @author vvv
* @date 2013-8-10 上午09:13:30
*/
package com.duotai;
/**
*
*
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Shape triangle = new Triangle(3, 4, 8);
// 新建一个三边长为3,4,5的三角形
Shape tri = new Triangle(3, 4, 5);
Shape director = new Director(10, 20);
// 新建一个两边长为10,20的长方形
System.out.println("三角形triangle的周长为:" + triangle.longer());
System.out.println("三角形triangle的面积为:" + triangle.area());
System.out.println("三角形tri的周长为:" + tri.longer());
System.out.println("三角形tri的面积为:" + tri.area());
System.out.println("该长方形的周长为:" + director.longer());
System.out.println("该长方形的面积为:" + director.area());
}
}
希望本文所述对大家的java程序设计有所帮助。
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 本文实例讲述了Java访问WebService返回XML数据的方法。分享给大家供大家参考。具体如下:import java.io.IOExc
- 通过本篇文章主要给大家讲解了在JAVA开发中Servlet3.0异步处理遇到的问题以及处理办法,以下是具体内容:Servlet 3.0 开始
- 在该示例中,阐述了SpringMVC如何上传文件。1、上传页面upload.jsp<body> <form
- springboot集成swagger3swagger3的springboot启动器jar包<!-- https://mvnrepos
- 本文主要介绍了25行Java代码将普通图片转换为字符画图片和文本的实现,分享给大家,具体如下:原图生成字符画文本(像素转换字符显示后,打开字
- 去年就已经学了这个技术了,一直没去写,现在抽个时间写了个俄罗斯方块游戏。只有简单的新游戏,暂停,继续,积分功能。简单的实现了俄罗斯的经典功能
- starter起步依赖starter起步依赖是springboot一种非常重要的机制,它打包了某些场景下需要用到依赖,将其统一集成到star
- 1.概念a.是个二叉树(每个节点最多有两个子节点)b.对于这棵树中的节点的节点值左子树中的所有节点值 < 根节点 < 右子树的所
- 这篇文章主要介绍了Spring @Conditional注解原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 下面给大家介绍下mybatis结果生成键值对的实例代码,具体内容如下所示:在实际应用中我们经常会遇到这样的情况,需要给下拉框赋值,这个时候就
- Mybatis Log Plugin使用今天发现大部分猿友关于查看执行sql语句的方法,只知道将其输出到控制台。然而还有更简便的方法,就是使
- 要想实现android手机通过扫描名片,得到名片信息,可以使用脉可寻提供的第三方SDK,即Maketion ScanCard SDK,脉可寻
- Failed to execute goal org.apache.maven.plugins:maven-resources-plugin
- GC,Garbage Collect,中文意思就是垃圾回收,指的是系统中的内存的分配和回收管理。其对系统性能的影响是不可小觑的。今天就来说一
- 编程是一门艺术,大批量的改动显然是非常丑陋的做法,用心的琢磨写的代码让它变的更美观。在软件开发系统中,**“方法的请求者
- 目录Jacoco原理简介使用Jacoco生成代码执行覆盖率报告小结Jacoco是Java Code Coverage的缩写,顾名思义,它是获
- 今天遇到pom中添加dependency时相关的jar会自动下载,但是左边的External Libraries中一直获取不到添加的jar问
- 实际需求<if test="computationRule == '1'"> F
- 使用过 mybatis 框架的小伙伴们都知道,mybatis 是个半 orm 框架,通过写 mapper 接口就能自动实现数据库的增删改查,
- 如何给请求添加header背景:在集成了swagger的项目中,调用后台接口往往会经过一些自定义的 * ,而 * 加了token限制的话,直