面向对象的理解

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;
}


}

posted @ 2016-02-24 19:14  gentspy  阅读(189)  评论(0编辑  收藏  举报