第五章编程作业

1. 编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积.

  实现思路及关键代码:

  1) 编写一个圆类Circle,该类拥有:

  a) 一个成员变量,radius(私有,浮点型);//存放圆的半径
  b) 两个构造方法(无参、有参);
  c) 三个成员方法
    double getArea() //获取圆的面积
    double getPerimeter() //获取圆的周长
    void show() //将圆的关径、周长、面积输出到屏幕
-------------------------------------------------------------------------------------------
代码:

public class Circle {

    	private float radius;
    	
    	public static void main(String[] args) {
    		Circle c1 = new Circle(10.0F);
    		c1.show();
    		Cylinder cv = new Cylinder(10,10);
    		cv.showVolume();
    	}
    	
    	public Circle(){
    		
    	}
            	
    	public Circle(float radius) {
    		this.radius = radius;
    	}
    	
    	public double getArea() {
    		return Math.PI * radius * radius;
    	}
    	
    	public double getPerimeter() {
    		return Math.PI * 2 * radius;
    	}
    	
    	public void show() {
    		System.out.printf("半径:%s 周长:%s 面积:%s ", radius,getPerimeter(),getArea());
    	}	
}
   
------------------------------------------------------------------------------------------

  2) 编写一个圆柱体类Cylinder,它继承于上面的Circle类.还拥有:

  a) 一个成员变量,double hight (私有,浮点型); //圆柱体的高;
  b) 构造方法
  c) 成员方法

    double getVolume() //获取圆柱体的体积
    void showVolume() //将圆柱体的体积输出到屏幕
-----------------------------------------------------------------------------------------
代码:

class Cylinder extends Circle{
    	
    	private double hight;
    	
    	public Cylinder(){
    		
    	}
    	
    	public Cylinder(double hight, float radius) {
    		super(radius);
    		this.hight = hight;
    	}
    	
    	public double getVolume() {
    		return getArea() * hight;
    	}
    	
    	public void showVolume() {
    		System.out.println("体积:" + getVolume());
    	}
    	
}

2. 编写程序实现乐手弹奏乐器.乐手可以弹奏不同的乐器从而发出不同的声音.可以弹奏的乐器包括二胡、钢琴和琵琶.

  实现思路及关键代码:
  1) 定义乐器类Instrument,包括方法makeSound();
  2) 定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin;
  3) 定义乐手类Musician,可以弹奏各种乐器play(Instrument i);
  4) 定义测试类,给乐手不同的乐器让他弹奏.
---------------------------------------------------------------------------------------
代码:

    public abstract class Instrument {	
    	   public abstract void makeSound();	
    }
    
    class Erhu extends Instrument{
    	   public void makeSound() {
    		  System.out.println("er hu ...");
       }
    }
    
    
    class Piano extends Instrument{
        	public void makeSound() {
    		   System.out.println("piano ...");
        	}
    }
    
    class Violin extends Instrument{
    	   public void makeSound() {
    		  System.out.println("violin ...lala");
    	   }
    }
    
    class Musician{
    	   public void play(Instrument i) {
    		  i.makeSound();
    	   }
    }
    
    class Test{
    	   public static void main(String[] args) {
        	   Erhu e1 = new Erhu();
           Piano p1 = new Piano();
        	   Violin v1 = new Violin();
        	   Musician m1 = new Musician();
        	   m1.play(e1);
           m1.play(p1);
        	   m1.play(v1);
    	   }
    }

3. 编写程序描述影视歌三栖艺人.需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人.

  实现思路:

  1) 分析影视歌三栖艺人的特性:可以演电影,可以演电视剧,可以唱歌
  2) 定义多个接口描述特性

  a) 演电影的接口-----方法:演电影
  b) 演电视剧的接口-----方法:演电视剧
  c) 唱歌的接口-----方法:唱歌

  3) 定义艺人类实现多个接口

---------------------------------------------------------------------------------
代码:

    interface PerformMovie {
    	   void performMovie(); 
    }
    
    interface PerformTv{
    	   void performTv();
    }
    
    interface PerformSing{
    	   void performSing();
    }
    
    class ArtActress implements PerformMovie, PerformSing, PerformTv{

    	   public void performSing() {
    		  System.out.print("single .. \n");
       }
    
       public void performTv() {
    	      System.out.println("perform Tv serious");
    	   }
    
    	   public void performMovie() {
    		  System.out.println("perform mv");
    	   }
    }

猜你喜欢

转载自blog.csdn.net/qq_46456049/article/details/108700847