0
点赞
收藏
分享

微信扫一扫

Java封装、继承与多态(二)

凉夜lrs 2022-04-13 阅读 36
javaeclipse

问题描述:

定义一个抽象类型shape,定义类名circular圆形,定义半径,构造函数,计算机面积公式以及周长,正方形也是一样,用c2.print()调用方法输出结果

package S3;

public class S1 {

	public static void main(String[] args) {
		
		circular c1 =new circular(4);//传递实参
		c1.print();
		Square c2 = new Square(5);
		c2.print();//调用方法
		

	}

}
abstract class Shape
{
	abstract double getArea();
	abstract double getperimeter();
}
class circular extends Shape //圆形
{
	 double rear;
	 
	public circular(double r)//构造函数
	{
		rear=r;
		
	}
	public double getArea() //面积
	{
		
		return 3.14*rear*rear;
		
	}
	public double getperimeter() //周长
	{
		
		return 2*3.14*rear;
		
	}
	public void print()//输出圆形的面积和周长
	{
		System.out.println("面积是:"+getArea());
		System.out.println("周长是:"+getperimeter());
	}
}
class Square extends Shape  //正方形
{
	double leght;
	 
	public Square(double l)
	{
		leght=l;
		
	}
	public double getArea() //面积
	{
		
		return leght*leght;
		
	}
	public double getperimeter() //周长
	{
		
		return 2*(leght+leght);
		
	}
	
	public void print()
	{
		System.out.println("面积是:"+getArea());
		System.out.println("周长是:"+getperimeter());
	}
}

在这里插入图片描述

问题描述:

建设银行ConstructionBank是Bank的子类准备覆盖继承的成员变量year,并覆写计算利息的方法,同样构造函数,传递参数,计算利息,调用方法。

package S3;

public class S2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Bank C1 =new ConstructionBank();
		C1.dispoit(10000.75, 8);
		//C1.computerInterest();
		System.out.println(C1.computerInterest());
		
		

	}

}
class Bank{
	int year;//年份
	double interest;//利息
	double saveMoney;//保存货币

void dispoit(double money,int year) {
	saveMoney=money;
	this.year=year;

}
double computerInterest(){
	
    interest=year*0.35*saveMoney;
    return interest;
}

}
class ConstructionBank extends Bank{
	double year;
	double price;
	double computerInterest()
	{
		price=(year-(int)year)*0.0001*saveMoney+super.computerInterest();
		return  price;
		
	
	}
	
}

在这里插入图片描述

在这里插入图片描述

举报

相关推荐

0 条评论