标签:
Java中面向对象的理解:
面向对象是一种设计程续,部署程序的思路,能将程序中的各个功能细化。有封装,继承,多态三特点:
public class Transformer {
//变形金刚使用的武器接口
private Weapon w;//默认 null 值
/*
* 对成员变量赋值的方法,
* 把接收的武器对象,赋给变量w
*/
public void setWeapon(Weapon w) {
this.w = w;
}
public void attack() {
if(w == null) {
System.out.println("用牙咬~~");
return;
}
//用武器进攻
String type = "";
switch(w.getType()) {//向w接口发送getType()调用指令
case Weapon.TYPE_COLD:
type = "冷兵器";
break;
case Weapon.TYPE_HEAT:
type = "热兵器";
break;
case Weapon.TYPE_NUCLEAR:
type = "核武器";
break;
}
//向w接口发送getName()调用指令
System.out.println(
"使用"+type+w.getName()+"进攻");
//向w接口发送kill()调用指令
//由具体接入的武器来执行这个方法
w.kill();
}
}
然后
public interface Weapon {
//public static final 可以省略
int TYPE_COLD =1;
int TYPE_HEAT =2;
int TYPE_NUCLEAR
=3;
//public abstract 可以省略
void kill();
String getName();
int getType();
}
public class Ak47 implements Weapon{
@Override
public void kill() {
System.out.println("??");
}
@Override
public String getName() {
return "Ak47";
}
@Override
public int getType() {
return Weapon.TYPE_HEAT;
}
}
标签:
原文地址:http://www.cnblogs.com/gentspy/p/5214255.html