尚学堂JAVA第5章练习答案参考

本文章为本人个人编辑,仅供参考。如有读者发现问题,请留言提醒本人修改。

  1. 编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。
    实现思路及关键代码:
    1. 编写一个圆类Circle,该类拥有:
      a) 一个成员变量,radius(私有,浮点型);//存放圆的半径
      b) 两个构造方法(无参、有参);
      c) 三个成员方法
      double getArea() //获取圆的面积
      double getPerimeter() //获取圆的周长
      void show() //将圆的关径、周长、面积输出到屏幕
    2. 编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:
      a) 一个成员变量,double hight (私有,浮点型); //圆柱体的高;
      b) 构造方法
      c) 成员方法
      double getVolume() //获取圆柱体的体积
      void showVolume() //将圆柱体的体积输出到屏幕
public class Test {
	public static void main(String[] args) {

	Circle c = new Cylinder(3.5,4.5);	
		c.show();
	Cylinder cl = (Cylinder)c;
		cl.shouVolume();
	}
}

class Circle{
	
	
	double redius;//半径
	
	public Circle() {
		
	}
	//构造方法
	public Circle(double redius) {
		this.redius = redius;
	}
	//面积方法
	double getArea() {
		return Math.PI*redius*redius;
	}
	//周长方法
	double getPerimeter() {
		return Math.PI*redius*2;
	}
	
	public void show() {
		System.out.println("园的半径="+redius);
		System.out.println("园的面积="+getArea());
		System.out.println("园的周长为="+getPerimeter());
		
	}
}

class Cylinder extends Circle{
	double hight;//圆柱体的高
	
	public Cylinder(double redius,double hight) {
		this.hight=hight;
		this.redius=redius;
	}
	
	double getVolume() {
		return getArea()*hight;
	}
	public void shouVolume() {
		System.out.println("圆柱体的体积="+getVolume());
	}
}
  1. 编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。
    实现思路及关键代码:
    1. 定义乐器类Instrument,包括方法makeSound();
    2. 定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin;
    3. 定义乐手类Musician,可以弹奏各种乐器play(Instrument i);
    4. 定义测试类,给乐手不同的乐器让他弹奏。
//乐器类
 abstract class Instrument{
	String name;
	String sound;
	abstract String makeSound();
}

 //二胡类
class Erhu extends Instrument{
	Erhu(){
		name = "Erhu";
		sound = "二胡声";
	}
	String makeSound() {
		return sound;
	}
}

//钢琴类
class Piano extends Instrument{
	Piano(){
		name = "Piano";
		sound = "钢琴声";
	}
	String makeSound() {
		return sound;
	}
}

//小提琴类
class Violin extends Instrument{
	Violin(){
		name = "Violin";
		sound = "小提琴声";
	}
	String makeSound() {
		return sound;
	}
}

//乐手类
class Musician{
	void play(Instrument i) {
		System.out.println(i.makeSound());
	}
}


public class Test2 {
	//程序入口
	public static void main(String[] args) {
		
		Musician musician = new Musician();
		Violin violin = new Violin();
		Piano piano = new Piano();
		Erhu erhu = new Erhu();
		
		musician.play(violin);
		musician.play(piano);
		musician.play(erhu);
	}
}


  1. 编写程序描述影视歌三栖艺人。需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人。
    实现思路:
    1. 分析影视歌三栖艺人的特性:可以演电影,可以演电视剧,可以唱歌
    2. 定义多个接口描述特性
      a) 演电影的接口-----方法:演电影
      b) 演电视剧的接口-----方法:演电视剧
      c) 唱歌的接口-----方法:唱歌
    3. 定义艺人类实现多个接口
      程序运行结果如图5-36所示。
      图5-37 编码题3运行效果图.png
public class Test3 {
	public static void main(String[] args) {
		
		Star star = new Star("杨幂");
		star.Hello();
		star.Movie();
		star.Sing();
		star.TvShow();
	}
}

//演电影接口
interface Movie{
	void Movie();
}

//唱歌接口
interface Sing{
	void Sing();
}

//演电视剧接口
interface TvShow{
	void TvShow();
}

class Star implements Movie,Sing,TvShow{
	
	String name;
	
	public Star(String name) {
		this.name=name;
	}
	
	void Hello() {
		System.out.println("大家好,我是"+name);
	}
	public void Movie() {
		System.out.println("我能演电影");
	}
	
	public void Sing() {
		System.out.println("我能唱歌");
	}
	
	public void TvShow() {
		System.out.println("我能演电视剧");
	}
}

你可能感兴趣的:(尚学堂JAVA第5章练习答案参考)