定义一个形状类(Shape)方法:计算周长,计算面积。子类: 矩形类、圆形类、三角形类...
定义一个形状类(Shape)方法:计算周长,计算面积
子类:
矩形类(Rectangle) :额外的方法:differ() 计算长宽差
圆形类(Circle)
三角形类(Triangle)
正方形类(Square) 矩形的子类
生成几个不同的形状对象,放在一个Shape 类型的数组里,分别求每个形状的周长和面积。
如果形状对象是一个矩形,且不是正方形,则计算长宽差。
Circle.java
1 package ex8; 2 3 import java.util.List; 4 5 public class SongDao { 6 7 private List<Song> songList; 8 9 public SongDao() { 10 11 } 12 13 public SongDao(List<Song> songList) { 14 super(); 15 this.songList = songList; 16 } 17 18 // 新增歌曲 19 public void add(Song song) { 20 songList.add(song); 21 } 22 23 // 查询歌曲 24 // 按id查找 25 public Song search(int sid) { 26 for(Song song : songList) { 27 if(song.getSid()==sid){ 28 return song; 29 } 30 } 31 return null; 32 } 33 // 按对象查找 34 public Song search(Song song) { 35 if(song==null) { 36 return null; 37 } 38 return search(song.getSid()); 39 } 40 41 // 删除歌曲 42 //按id删除歌曲 43 public void delete(int sid) { 44 Song song=search(sid); 45 if(song!=null) { 46 songList.remove(song); 47 } 48 } 49 //按对象删除歌曲 50 public void delete(Song song) { 51 if(song!=null) { 52 delete(song.getSid()); 53 } 54 } 55 56 public List<Song> getSongList() { 57 return songList; 58 } 59 60 public void setSongList(List<Song> songList) { 61 this.songList = songList; 62 } 63 64 65 66 67 }
Rectangle.java
package ex4_1;public class Rectangle extends Shape {private double width;private double height;public Rectangle(double height,double width) {super();// TODO Auto-generated constructor stub setHeight(height);setWidth(width);}@Overridepublic double length() {// TODO Auto-generated method stubreturn 2*(width+height);}@Overridepublic double area() {// TODO Auto-generated method stubreturn width*height;}public double differ() {return Math.abs(height-width);}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;}}
Shape.java
package ex4_1;public class Shape {public double length(){return 0;}public double area() {return 0;} }
Square.java
1 package ex4_1; 2 3 public class Square extends Rectangle { 4 5 public double edge; 6 7 public Square(double edge) { 8 super(edge,edge); 9 setEdge(edge); 10 // TODO Auto-generated constructor stub 11 } 12 13 public double getEdge() { 14 return edge; 15 } 16 17 public void setEdge(double edge) { 18 this.edge = edge; 19 } 20 21 22 }
Tester.java
package ex4_1;public class Tester {public static void main (String[] args) {Shape[] shapes= {new Rectangle(5,10),new circle(5),new Square(3),new Triangle(3, 4, 5)};for(int i=0;i<shapes.length;i++) {double length=shapes[i].length();double area=shapes[i].area();if(shapes[i]instanceof circle) {System.out.println("Shape("+(i+1)+")"+"length"+String.format("%.2f", length)+",area"+String.format("%.2f", area));}else {System.out.println("Shape("+(i+1)+")"+"length"+length+",area"+area);if(shapes[i]instanceof Rectangle) {Rectangle r=(Rectangle)shapes[i];System.out.println("长宽差是"+r.differ());}}}} }
Triangle.java
package ex4_1;public class Triangle extends Shape {private double a;private double b;private double c;public Triangle(double a,double b,double c) {super();// TODO Auto-generated constructor stub setA(a);setB(b);setC(c);}@Overridepublic double length() {// TODO Auto-generated method stubreturn a+b+c;}@Overridepublic double area() {double p= (a+b+c)/2;// TODO Auto-generated method stubreturn Math.sqrt(p*(p-a)*(p-b)*(p-c));}public double getA() {return a;}public void setA(double a) {this.a = a;}public double getB() {return b;}public void setB(double b) {this.b = b;}public double getC() {return c;}public void setC(double c) {this.c = c;} }
转载于:https://www.cnblogs.com/kazama/p/10181056.html
定义一个形状类(Shape)方法:计算周长,计算面积。子类: 矩形类、圆形类、三角形类...相关推荐
- 【设计一个抽象的形状类Shape,方法:求周长和求面积】
[设计一个抽象的形状类Shape,方法:求周长和求面积.shape类的子类:Rect(矩形),Circle(圆形).Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积的方法.] ...
- 设计一个形状类(接口)Shape,方法:求周长和求面积形状类(接口)的子类(实现类): Rect(矩形) Circle(圆形)Rect类的子类: Square(正方形)不同的子类会有不同的计算周长和面
设计一个形状类(接口)Shape,方法:求周长和求面积 形状类(接口)的子类(实现类): Rect(矩形) Circle(圆形) Rect类的子类: Square(正方形) ...
- 设计一个形状类(接口)Shape,方法:求周长和求面积形状类(接口)的子类(实现类):
设计一个形状类(接口)Shape,方法:求周长和求面积 形状类(接口)的子类(实现类): package zuoye2;public interface Shape {// 求面积方法double g ...
- 设计一个形状类(接口)Shape,方法:求周长和求面积
3.设计一个形状类(接口)Shape,方法:求周长和求面积形状类(接口)的子类(实现类):Rect(矩形)Circle(圆形)Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积 ...
- Java基础 接口实现 设计一个形状类(接口)Shape,方法:求周长和求面积
题目: 设计一个形状类(接口)Shape,方法:求周长和求面积形状类(接口)的子类(实现类);:Rect(矩形),Circle(圆形)Rect类的子类:Square(正方形)不同的子类会有不同的计算周 ...
- python定义一个圆类_python设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性。编写构造方法和其他方法,计算周长和面积。...
** Python:设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性.编写构造方法和其他方法,计算周长和面积.请编写程序验证类的功能. class Circle: def -init-( ...
- python设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性。编写构造方法和其他方法,计算周长和面积。
** Python:设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性.编写构造方法和其他方法,计算周长和面积.请编写程序验证类的功能. class Circle: def -init-( ...
- java设计一个形状shape_编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接......
导航:网站首页 > 编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接... 编程定义一个图形接口 Shape, 内含2 ...
- python输入半径计算公式_Python:09设计Circle类包括圆心半径、颜色属性,编写类方法计算周长与面积(2种方法)...
设计一个Circle类,包括圆心位置.半径.颜色属性.编写构造方法进行属性初始化,编写类方法计算周长与面积. 方法一 class Circle: location=(0,0) r=0 color=&q ...
- Python:09设计Circle类包括圆心半径、颜色属性,编写类方法计算周长与面积(2种方法)
设计一个Circle类,包括圆心位置.半径.颜色属性.编写构造方法进行属性初始化,编写类方法计算周长与面积. 方法一 class Circle: location=(0,0) r= ...
最新文章
- dispatch callback ant design pro 网络请求回调函数
- The Long-Term Stability of Ecosystems
- 数据中心可以不设置柴发吗?
- tomcat 相关以及安装时遇到的一些问题整理
- wireshark tcp抓包分析_网络分析系列之八_使用Wireshark抓包
- Java并发编程以及并发须知的几个概念:什么是线程安全?
- SpringBoot基础篇(一):Spring Boot入门
- golang高并发的理解
- uml建模工具_Visual Paradigm 教程[UML]:绘制UML配置文件图
- Timemator for Mac(自动化计时管理软件)
- STKX组件技术在星地链路中的仿真模式研究
- 冰点还原精灵破解版|冰点还原精灵中文破解版下载(附冰点还原精灵注册机及许可证密钥)
- wav怎么转换成mp3?
- SQL server 2000个人版 下载地址
- 国内能用的国际邮箱推荐哪个?公司邮箱号码大全
- App云测试平台免费功能汇总
- IE浏览器如何实现断点续传
- hadoop 报错 there appears to be a gap in the edit log. we expected txitd 1, but got txid 14444
- 中级软件设计师简要知识点(5):网络与多媒体基础知识
- 高效的磁力搜索引擎 -_高效的企业测试-结论(6/6)