程式是否可以改進

程式是否可以改進

package com.imooc.generic;

public abstract class Animal {
	public String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	public abstract void play(); 

}
package com.imooc.generic;

public class Dog extends Animal {
	
	

	public Dog() {
		
	}
	public Dog(String name) {
		setName(name);
	}
	@Override
	public void play() {
		// TODO Auto-generated method stub
		System.out.println("小狗" + name +"在玩遊戲");
	}

}
package com.imooc.generic;

public class Cat extends Animal {
	
	
	public Cat() {
		
	}
	public Cat(String name) {
		setName(name);
	}

	@Override
	public void play() {
		// TODO Auto-generated method stub
		System.out.println("小貓" + name +"在玩遊戲");

	}

}
package com.imooc.generic;

import java.util.List;

public class AnimalPlay {
	public void play(List<? extends Animal> animal) {
		for(Animal a :animal) {
			a.play();
		}
	}

}
package com.imooc.generic;

import java.util.ArrayList;
import java.util.List;

public class AnimalTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<Dog> dogList = new ArrayList<>(); 
		dogList.add(new Dog("巴迪"));
		dogList.add(new Dog("豆豆"));
		
		List<Cat> catList = new ArrayList<>();
		catList.add(new Cat("花花"));
		catList.add(new Cat("凡凡"));
		
		AnimalPlay aPlay = new AnimalPlay();
		aPlay.play(dogList);
		aPlay.play(catList);

	}

}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,代码完成的不错!如果将属性声明为private,会更加符合代码的封装规范。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

提问者 胖達 2019-10-12 17:09:14
package com.imooc.generic;
 
public abstract class Animal {
    private String name;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
    public abstract void play(); 
 
}

 這邊是否有需要改為 private 

還是說結果輸出可以 所以並不需要特別更改?

  • 同学你好,也可以将属性声明为private,会更加符合代码的封装规范。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2019-10-12 17:15:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师