- A
boolean
- это примитивный тип данных.Вы можете назначить его как другие примитивы: boolean active = true; active = false;
Его также можно сравнить active == true
Использовать как условие if(active) { // do stuff }
Нет необходимости active == true
active
вкласс Governance
имеет область действия, охватывающую весь класс.
Если какой-то другой класс хочет изменить его значение, необходимо будет вызвать yourGovernanceInstance.setActive(false);
, поэтому мы изменим свойство active
этого экземпляра класса на false
. - См. Пример выше.
Я изо всех сил пытаюсь поделиться кодом, используя средство форматирования, см. эту ссылку , чтобы получить аккуратную версию.Ниже, только если срок действия целевой ссылки истекает.
import java.util.ArrayList;
import java.util.List;
import java.lang.Integer;
public class Governance {
// usually we write variables in lower case.
private List<Integer> books = new ArrayList<Integer>();
// private member. To change it's value it's best practice to call setters and getters to change the value.
private boolean active = true;
public void borrowBook() {
if(books.isEmpty()){
// I use "this" to refer to this class's method "isActive()"
} else if(!books.isEmpty() && this.isActive()){
System.out.println("You can borrow that book");
} else {
System.out.println("You can not borrow that book");
}
}
public boolean isActive() {
return active;
}
// You habe a class that has many Governance instances, e.g.
// Governance myGov = new Governance();
// myGov is no more active, so you call: myGov.setActive(false);
public void setActive(boolean active) {
this.active = active;
}
}
Вы также можете просто использовать else if(!books.isEmpty() && active)
.
Зависит.Обычно вы ArrayList
содержат Book
объектов в вашем контексте.Вам нужно будет идентифицировать книгу, которую кто-то хочет взять.
public class Book {private int id;частное название строки;частный логический активный;
public Book(int id, String title, boolean active) {
this.id = id;
this.title = title;
this.active = active;
}
// Setters and Getters
}
А в вашем Governance
классе:
public boolean canBorrowBookWithId(int id) {
Book bookToBeBorrowed = books.get(id);
boolean canBorrow = true;
// If book can is active, it can't be borrowed.
if(bookToBeBorrowed.IsActive()){
canBorrow = false;
} else {
// If not; set it to be and lend it out :-)
bookToBeBorrowed.setActive(true);
}
return canBorrow;
}
Примечание: canBorrowBookWithId() проверяет, доступна ли книга, и устанавливает ее состояние.По методу чистого кода метод будет выполнять только одну из этих операций за один раз!
Вы пытаетесь выучить Object oriented programming
, трудно начать, но в конце концов вы поймете это:-)