package unit4;
import java.awt.Graphics;
public interface Shape {
void drowme(Graphics g);
double area();
double length();
String getName();
}
package unit4;
import java.awt.Graphics;
public class Point implements Shape{
int x,y;
Point (int x,int y){this.x=x;this.y=y;}
public double area() {
// TODO Auto-generated method stub
return 0;
}
public void drowme(Graphics g) {
g.fillOval(x,y,5,5);
}
public String getName() {
// TODO Auto-generated method stub
return "Point";
}
public double length() {
// TODO Auto-generated method stub
return 0;
}
}
package unit4;
import java.awt.Graphics;
public class Triangle implements Shape {
Point a,b,c;
public Triangle(Point aa,Point bb,Point cc) {
// TODO Auto-generated constructor stub
a=aa;
b=bb;
c=cc;
}
public double area() {
double a_b=Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
double a_c=Math.sqrt((a.x-c.x)*(a.x-c.x)+(a.y-c.y)*(a.y-c.y));
double b_c=Math.sqrt((b.x-c.x)*(b.x-c.x)+(b.y-c.y)*(b.y-c.y));
double l=(a_b+a_c+b_c)/2;
double s=Math.sqrt((l-a_b)*(l-b_c)*(l-a_c)*l);
return s;
}
public void drowme(Graphics g) {
g.drawLine(a.x,a.y,b.x,b.y);
g.drawLine(a.x,a.y,c.x,c.y);
g.drawLine(b.x,b.y,c.x,c.y);
}
public String getName() {
return "triangle";
}
public double length() {
double a_b=Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
double a_c=Math.sqrt((a.x-c.x)*(a.x-c.x)+(a.y-c.y)*(a.y-c.y));
double b_c=Math.sqrt((b.x-c.x)*(b.x-c.x)+(b.y-c.y)*(b.y-c.y));
double l=(a_b+a_c+b_c);
return l;
}
}
package unit4;
import java.awt.Graphics;
public class Circl implements Shape {
Point c;
int r;
public Circl(Point cc,int rr) {
c=cc;
r=rr;
}
public double area() {
return 3.14159*r*r;
}
public void drowme(Graphics g) {
g.drawOval(c.x-r,c.y-r,2*r,2*r);
}
public String getName() {
return "circle";
}
public double length() {
return 2*3.14159*r;
}
}
package unit4;
import java.awt.Graphics;
public class Rect implements Shape{
Point a,b;
Rect(Point aa,Point bb){a=aa;b=bb;}
public double area() {
return (a.x-b.x)*(a.y-b.y);
}
public void drowme(Graphics g) {
g.drawRect(a.x,a.y,b.x-a.x,b.y-a.y);
}
public String getName() {
return "rectangle";
}
public double length() {
return (b.x-a.x)*2+(b.y-a.y)*2;
}
}
package unit4;
import java.applet.Applet;
import java.awt.Graphics;
public class Shapetest extends Applet{
Shape[]myshapes=new Shape[5];
public void init() {
Point a0=new Point(50,50);
Point a1 = new Point(24,24);
Point a2=new Point(100,200);
Point a3 = new Point(200,120);
myshapes[0]=a0;
myshapes[1]=new Triangle(a1,a2,a3);
myshapes[2]=new Circl(a2,50);
myshapes[3]=new Circl(a3,100);
myshapes[4]=new Rect(new Point(100,100),new Point(200,200));
}
public void paint(Graphics g){
for(int i=0;i
myshapes[i].drowme(g);
System.out.println(myshapes[i].getName()+": area: "+myshapes[i].area()+", length: "+myshapes[i].length());
}
}
}
这里可以直接在eclipse上运行位applet,但是,我发现一个严重的问题,我没法部署网站,哎,先不管了,以后用到了在慢慢调吧。
每次都要费老大劲配置。我日。。
Insert title here理论上,配置成功可以在网页上启动小程序的。
Java 接口和多态
接口 1.1 接口的概述 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样 ...
Java接口与多态
接口 可以理解为一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法所组成 接口的定义格式 接口的数据成员,只允许被public, static, final修饰. 接口的方 ...
Java 接口和多态练习
我们鼠标和键盘实现USB接口,那么我们鼠标和键盘就变成了USB设备,这时候我们就可以把它放到笔记本电脑里面去用 package com.biggw.day10.demo07; /** * @autho ...
Java基础学习笔记八 Java基础语法之接口和多态
接口 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”.接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义 ...
Java开发知识之Java的继承多态跟接口*
Java开发知识之Java的继承多态跟接口 一丶继承 1.继承的写法 在Java中继承的 关键字是 extends 代表一个类继承另一个类. 继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来 ...
Java 基础 接口和多态
接口 接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的 ...
Java 面向对象之接口、多态
01接口的概念 A:接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成 ...
Java学习笔记——继承、接口、多态
浮点数的运算需要注意的问题: BigDecimal operand1 = new BigDecimal("1.0"); BigDecimal operand2 = new BigD ...
java抽象类、多态、接口
抽象类 抽象类的产生 当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能具体实现方式,那么这些方法都有具体的方法体. 但是有的时候,某个父类只是知道子类应该包含怎么样的方法,但 ...
随机推荐
itrator控制迭代次数
Git 安装
安装参考资料: http://lzw.me/a/msysgit-tortoisegit-win-git.html http://blog.csdn.net/qwiwuqo/article/detail ...
HTML CSS3 手风琴菜单
careercup-树与图 4.9
4.9 给定一颗二叉树,其中每个结点都含有一个数值.设计一个算法,打印结点数值总和等于某个给定值的所有路径.注意,路径不一定非得从二叉树的根节点或叶子节点开始或结束. 类似于leetcode:Path ...
canvas-画七巧板