4-3最后留的问题的代码有人可以写一份给我吗

来源:10-3 Java 中的抽象类

大雄的猫

2016-09-30 08:53

抽象类那个

写回答 关注

5回答

  • JustWannaHugU
    2016-09-30 09:16:22
    已采纳
    abstract class Shape{
    	abstract int getArea(int r,int o);
    	abstract int getPm(int r,int o);
    }
    
    
    public class Circle extends Shape{
    	public int r,o;
    	public int area,pm;
    	public int getArea(int r,int o){
    		return 3*r*r;
    	}
    	public int getPm(int r,int o){
    		return 6*r;
    	}	
    }
    
    
    public class Rectangle extends Shape{
    	public int length;
    	public int width;
    	public int area;
    	public int pm;
    	public int getArea(int length,int width){
    		return length*width;
    	}
    	public int getPm(int length,int width){
    		return 2*(length+width);
    	
        }
    }
    
    class Initial
    {
    	public static void main (String args[])
    	{
    		Circle c = new Circle();
    		c.r = 2;c.o=5;
    		c.area = c.getArea(c.r,c.o);
    		c.pm = c.getPm(c.r,c.o);
    	
    		System.out.println("area = "+c.area+"pm = "+c.pm );  
    		Rectangle rt = new Rectangle();
    		rt.width = 1;
    		rt.length = 1;
    		rt.area = rt.getArea(rt.width,rt.length);
    		rt.pm = rt.getPm(rt.width,rt.length);
    		System.out.println("Area = "+rt.area+"pm = "+rt.pm);
    	}
    }


    大雄的猫

    谢了

    2016-09-30 09:22:44

    共 1 条回复 >

  • qq_肖小兔_03986431
    2016-10-18 16:42:41
    package com.proA2;
    
    public abstract class Shape {//抽象类shape
    	public abstract void perimeter(double a,double b);//求每个子类的周长
    	public abstract void area(double a,double b);//求每个子类的面积
    }
    
    package com.proA2;
    
    public class Rectangle extends Shape {//子类:矩形Rectangle
    
    	@Override
    	public void perimeter(double a,double b) {//求周长
    		// TODO Auto-generated method stub
    		double Long = (a+b)*2;//得矩形周长
    		System.out.println("矩形的周长为"+Long);
    	}
    	@Override
    	public void area(double a,double b) {//求面积
    		// TODO Auto-generated method stub
    		double Area = a*b;//得矩形面积
    		System.out.println("矩形的面积为"+Area);
    	}
    
    }
    
    package com.proA2;
    
    public class Circle extends Shape {//子类:圆形Circle
    
    	@Override
    	public void perimeter(double a,double b) {//求周长
    		// TODO Auto-generated method stub
    		double Long = a*3.14;//得圆形周长
    		System.out.println("圆形的周长为"+Long);
    	}
    
    	@Override
    	public void area(double a,double b) {//求面积
    		// TODO Auto-generated method stub
    		double Area = 3.14*((a/2)*(a/2));
    		System.out.println("圆形的面积为"+Area);
    	}
    
    }
    
    package com.proA2;
    
    public class Initail {
    	public static void main(String[] args) {
    		Shape object1 = new Rectangle();//父类Shape引用指向Rectangle。
    		Shape object2 = new Circle();//父类Shape引用指向Circle。
    		object1.perimeter(5, 6);//Rectangle类的长和宽。
    		object1.area(5, 6);
    		object2.perimeter(9,0);//Circle类的直径
    		object2.area(9, 0);
    	}
    }


  • 雪痕4070216
    2016-10-05 12:59:19
    package test;
    
    public abstract class shape {
        public abstract double getArea(double a,double b);
        public abstract double getPm(double a,double b);
    
    }
    package test;
    
    public class Circle extends shape {
        public double area=0;
        public double pm=0;
        public double r=0;
    
        @Override
        public double getArea(double r, double b) {
            // TODO Auto-generated method stub
            area=r*r*3.14;
            System.out.println("圆的半径为:"+r+"\n面积为:"+area);
            return area;
        }
    
        @Override
        public double getPm(double r, double b) {
            // TODO Auto-generated method stub
            pm=2*r*3.14;
            System.out.println("圆的半径为:"+r+"\n周长为:"+pm);
            return pm;
        }
    
    }
    package test;
    
    public class Rectangle extends shape {
        public double area=0;
        public double pm=0;
        public double length=0;
        public double width=0;
    
        @Override
        public double getArea(double length, double width) {
            // TODO Auto-generated method stub
            area=length*width;
            System.out.println("长方形的长为:"+length+"\t宽为:"+width+"\n面积为:"+area);
            return area;
        }
    
        @Override
        public double getPm(double length, double width) {
            // TODO Auto-generated method stub
            pm=(width+length)*2;
            System.out.println("长方形的长为:"+length+"\t宽为:"+width+"\n周长为:"+pm);
            return pm;
        }
    
    }
    package test;
    
    public class Initial {
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            shape circle=new Circle();
            shape rectangle=new Rectangle();
            double r=5.6;
            double width=3.2;
            double length=2.5;
            circle.getArea(r, 0);
            circle.getPm(r, 0);
            rectangle.getArea(width, length);
            rectangle.getPm(width, length);
        }
    
    }


    雪痕4070... 回复火龙果泡稀饭

    MyEclipes

    2016-10-06 18:22:45

    共 2 条回复 >

  • 世事如棋_2016
    2016-10-04 22:30:08




    package imooc;


    public abstract class Shape {

    public abstract void lo(double a,double b);

    public abstract void so(double a,double b);


    }

    public class Rectangle extends Shape {


    @Override

    public void lo(double a, double b) {

    // TODO Auto-generated method stub

        System.out.println("长方形的周长:"+(a+b)*2);

    }


    @Override

    public void so(double a, double b) {

    // TODO Auto-generated method stub

        System.out.println("长方形的面积:"+a*b);

    }


    }

    public class Cercle extends Shape {

    final double PI=3.14;


    @Override

    public void lo(double a, double b) {

    // TODO Auto-generated method stub

        System.out.println("圆形的周长是:"+a*2*PI);

    }


    @Override

    public void so(double a, double b) {

    // TODO Auto-generated method stub

         System.out.println("圆形的面积是:"+a*a*PI);

    }


    }

    public class Main {


    public static void main(String[] args) {

    // TODO Auto-generated method stub

    Shape l=new Rectangle();

    l.lo(4,5);

    l.so(4,5);

    Shape s=new Cercle();

    s.lo(5,5);

    s.so(5,5);

    }

    }

    长方形的周长:18.0

    长方形的面积:20.0

    圆形的周长是:31.400000000000002

    圆形的面积是:78.5















































  • JustWannaHugU
    2016-09-30 09:13:21

    是哪个shape吗?

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530655 学习 · 6091 问题

查看课程

相似问题