假設我有一個類,它是一扇門,其屬性表明它是打開還是關閉。然后是另一個類,它是分配到那個門的人。你會如何告訴這個人打開/關閉門?(用person類中的方法改變門類中屬性的值)
uj5u.com熱心網友回復:
你的意思是這樣的?
class Door {
public boolean closed = true;
}
class Person {
Door door = new Door();
public void changeDoorState(boolean closed) {
door.closed = closed;
}
}
uj5u.com熱心網友回復:
如果你想要set門狀態,你可以在 setter 中傳遞一個值,如下所示。我會為此使用列舉,因為它更具描述性。
enum Door {
CLOSED, OPEN
}
private Door door = Door.OPEN;
System.out.println(door);
changeDoorState();
System.out.println(door);
setDoorState(door.OPEN);
System.out.println(door);
public void setDoorState(Door status) {
door = status;
}
public boolean isDoorOpen() {
return door == Door.OPEN;
}
public Door getDoorState() {
return door;
}
如果您想進入change門狀態,請執行以下操作。
public void changeDoorState() {
// ternary - if door is open set to closed, else set to open
door = door == Door.OPEN ? Door.CLOSED : Door.OPEN;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/513525.html
標籤:爪哇班级方法属性
上一篇:JavaScript:如何呼叫派生類上定義的超類方法?
下一篇:HTML表單下拉串列和相應的輸入
