當前位置:編程學習大全網 - 編程語言 - 經典面向對象試題,用Java做,要詳細點的!先謝過了

經典面向對象試題,用Java做,要詳細點的!先謝過了

import java.util.Vector;

//抽象寶藏類

public abstract class Treature {

private Vector<Eudemon> ct=null;

//增加保護神

public abstract void addObserver(int n);

//刪除保護神

public abstract void deleteObserver(int n);

//通知保護神

public abstract void notifyObservers();

//探測寶藏是否改變

public abstract void hasChanged();

//標記寶藏狀態已更動方法

public abstract void setChanged();

//復位狀態變化標誌

public abstract void clearChanged();

//返回寶藏守護神數目

public abstract int countObserver();

}

//金子類

public class Gold extends Treature{

private String State="山洞";

private int servers=10;

private int gold=5;

private int cc=0;

public String getState() {

return State;

}

public void setState(String state) {

if(!state.equals(this.State))

{

this.notifyObservers();

}

}

@Override

public void addObserver(int n) {

System.out.println("添加"+n+"個金子的守護神");

servers=servers+n;

}

@Override

public void clearChanged() {

this.gold=5;

this.State="山洞";

this.hasChanged();

}

@Override

public int countObserver() {

return this.servers;

}

@Override

public void deleteObserver(int n) {

// TODO Auto-generated method stub

System.out.println("刪除"+n+"個金子守護神");

this.servers=this.servers-n;

}

@Override

public void hasChanged() {

System.out.println("已經有人動過金子了!");

Lion l=new Lion();

l.update();

this.setChanged();

}

@Override

public void notifyObservers() {

System.out.println("有人動了金子!");

this.hasChanged();

}

@Override

public void setChanged() {

// TODO Auto-generated method stub

this.cc++;

}

}

//抽象守護神類

public abstract class Eudemon {

public abstract void update();

}

//保護神類

public class Lion extends Eudemon{

@Override

public void update() {

System.out.println("我是芙蓉姐姐保護神,我要惡心死妳!");

}

}

//尼古拉斯。凱奇類

public class Cage {

public void touchTreatuer()

{

Gold gg=new Gold();

gg.setState("我家");

}

}

//測試類

import org.junit.BeforeClass;

import org.junit.Test;

public class Ceshi {

@BeforeClass

public static void setUpBeforeClass() throws Exception {

}

@Test public void inner()

{

Cage cg=new Cage();

cg.touchTreatuer();

}

}

  • 上一篇:壹般公司招聘的筆試壹般考什麽東西
  • 下一篇:c做遊戲代碼簡單遊戲代碼c語言
  • copyright 2024編程學習大全網