⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shapeexample.java

📁 掌握抽象类、接口的基本设计和应用方法。掌握上转型对象和接口回调的应用方法。 题一:抽象类与上转型对象 题二:接口与接口回调
💻 JAVA
字号:
abstract class Shape 
{
  public abstract double length();    //周长
  public abstract double area();      //面积
}
class Rectangle extends Shape         //矩形类
{ 
  double a,b;
  Rectangle(double a,double b)        //构造方法初始化两条边长
  { this.a=a;
    this.b=b;
  }
  public double length()             
  {  return(2*(a+b));
  }
  public double area()
  {  return(a*b);
  }
}

class Trangle extends Shape           //三角形类
{
	double a,b,c;
	Trangle(double a,double b,double c)
	{   this.a=a;
	    this.b=b;
	    this.c=c;
	}
	public double length()
	{   if(a+b>c&&a+c>b&&c+b>a)       //判断是否为三角形
	    {   return (a+b+c);
	    }
	    else 
	    {  System.out.println("不是一个三角形,不能计算周长");
           return 0;
        }     
	}
	public double area()
	{   if(a+b>c&&a+c>b&&c+b>a)
	    {  double p=(a+b+c)/2.0;
	       return (Math.sqrt(p*(p-a)*(p-b)*(p-c)));
	    }
	    else
	    {  System.out.println("不是一个三角形,不能计算面积");
           return 0;
        }  
	}
}

public class shapeExample
{   public static void main(String args[])
   {   Rectangle juxing=new Rectangle(2.0,3.0);         //创建矩形对象
       System.out.println("矩形的周长为:"+juxing.length());
       System.out.println("矩形的面积为:"+juxing.area());
       Trangle sanjiao=new Trangle(3.0,4.0,5.0);
       System.out.println("三角形的周长为:"+sanjiao.length());
       System.out.println("三角形的面积为:"+sanjiao.area());
       Shape juxing1=new Rectangle(3.0,4.0);         //juxing1是Rectangle对象的上转型对象
       System.out.println("矩形的周长为:"+juxing1.length());
       System.out.println("矩形的面积为:"+juxing1.area());
       Shape sanjiao1=new Trangle(1.0,4.0,5.0);
       System.out.println("三角形的周长为:"+sanjiao1.length());
       System.out.println("三角形的面积为:"+sanjiao1.area());
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -