代表图形的类(长、宽,求周长和面积的方法,由构造方法来进行属性初始化,属性私有化)、矩形类、正方形类、圆类(构造方法赋值、求周长和面积的方法)

package day;
 public class t{
	 public static void main(String[] args) {
		//向上造型
		Shape s1=new Square(2) ;
		System.out.println(s1.getArea());
	}}
 

//代表图形类
	class Shape{
		//私有化属性
		private double x;//代表宽
		private double y;//代表长
		//用过构造方法进行属性初始化(间接给私有属性赋值)
		  public Shape(double x,double y){
			  this.x=x;
			  this.y=y;
		  }
		//提供getter and setter 方法
		public double getX() {
			return x;
		}
		public double getY() {
			return y;
		}
		//求周长和面积的方法
		public double getGirth(){//求周长
			return 0.0;//图形类代表的是任意的图形不能用具体的计算公式来计算
	
		}
		public double getArea(){
			return 0.0;//求面积
		}}
//代表矩形类
	class Rectangle extends Shape{
     //子类有参构造 调用父类有参构造给父类的私有化属性进行赋值
	public Rectangle(double x, double y) {
		super(x, y);//调用父类的有参构造
		
	}
	 //重写求周长和面积的方法
	public double getGirth(){
		return 2*(getX()+getY());
	}
	public double getArea(){
		return (getX()*getY());
		}
			
	}
//代表正方形类
	class Square extends Shape{

	public Square(double x) {
		super(x, x);
	}
		
	}
//代表圆形类、
	class Circle extends Shape{

	public Circle(double r) {
		super(r, r);//长和宽都是半径的值		
	}
	public double getGirth(){
		return 2*3.14*getY();
	}
	public double getArea(){
		return (3.14*getX()*getY());
		}	
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值