class Rifle {
void shoot() {
System.out.println("rifle shoot");
}
void reload() {
System.out.println("rifle reload");
}
void onlyRifle() {
System.out.println("rifle!");
}
}
class Shotgun {
void shoot() {
System.out.println("shotgun shoot");
}
void reload() {
System.out.println("shotgun reload");
}
void onlyShotgun() {
System.out.println("shotgun!");
}
}
我需要類武器,這將是使用方法拍攝()從步槍和方法從Shotgun重裝() 我怎樣才能使用接口? 想象一下,那我不能修改類步槍和獵槍類如何創建兩個類的接口並標記可以使用的方法?
我的壞實現是
class Weapon {
Rifle myRifle;
Shotgun myShotgun;
Weapon() {
myRifle = new Rifle();
myShotgun = new Shotgun();
}
void shoot() {
myRifle.shoot();
}
void reload() {
myShotgun.reload();
}
void onlyShotgun() {
myShotgun.onlyShotgun();
}
void onlyRifle() {
myRifle.onlyRifle();
}
}
...main(){
Weapon myWeapon = new Weapon();
myWeapon.shoot();
myWeapon.reload();
myWeapon.onlyRifle();
myWeapon.onlyShotgun();
}
的工作,我想,但我怎麼能做到這一點更簡單地使用接口?
如果你不能改變'Rifle'和Shotgun',我看不出接口如何幫助你,因爲你不能改變這些類實現界面。 – Eran 2014-12-03 09:11:55
如果你說你不能修改這些類,你是否仍然可以在它們中寫下這麼多 - 實現武器 – rajesh 2014-12-03 09:11:55
是否需要創建一個武器對象?或者你可以創建任何對象? – Secondo 2014-12-03 09:17:36