есть PC
класс и Monitor
класс. Как защитить метод монитора класса, который вы не могли использовать, когда ПК выключен (статус)?Как защитить методы композиции?
public class Pc {
private Case theCase;
private Monitor theMonitor;
private Motherboard theMotherboard;
private boolean status;
public void turnOn(){
System.out.println("Pc turned on!");
status = true;
}
public void turnOff(){
System.out.println("Pc turned off!");
status = false;
}
и внутри Monitor
класса
public void drawPixelArt(int heigh, int width, String color){
System.out.println("Drawing pixel at " + heigh + " x "+ width + " px.");
}
Так что, когда (status == false)
я не хочу, чтобы иметь возможность вызвать любой метод.
thePc.getTheMonitor().drawPixelArt(1200, 1000, "RED");
например
getTheMonitor()
возвращается Object
, поэтому я не могу попробовать поймать его.
Может кто-нибудь помочь мне, как с этим бороться?
я мог бы использовать частные методы получения, а затем другой метод проверяет статус ПК, но, возможно, есть еще один ответ. Я все еще участвую, поэтому, пожалуйста, будьте терпимы;) –
FYI, здесь модели AOP (аспектно-ориентированное программирование) могут быть полезны. В более сложных рамках вы можете сделать это через перехватчики. В довольно простой программе принятый ответ - это путь. –