Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

AOOP LAB IN SEM-1

ID:2200030885
1.program:
public class Logger {

private static Logger instance;


private Logger() {
}
public static Logger getInstance() {
if (instance == null) {
synchronized (Logger.class) {
if (instance == null) {
instance = new Logger();
}
}
}
return instance;
}
public void log(String message) {
// Logging implementation
System.out.println("Logging: " + message);
}
}
class Main {
public static void main(String[] args) {
Logger logger = Logger.getInstance();
logger.log("This is a log message.");
}
}
Output:
2.program:

public class Context {


private State state;

public Context(){
state = null;
}
public void setState(State state){
this.state = state;
}

public State getState(){


return state;
}
}

class StartState implements State{


public void doAction(Context context) {
System.out.println("start state: ON");
context.setState(this);
}

public String toString(){


return "Start State: TV IS ON";
}
}

public interface State {


public void doAction(Context context);
}

class StatePatternDemo {

public static void main(String[] args) {


// TODO Auto-generated method stub
Context context = new Context();

StartState startState = new StartState();


startState.doAction(context);

System.out.println(context.getState().toString());
StopState stopState = new StopState();
stopState.doAction(context);

System.out.println(context.getState().toString());
}
}

class StopState implements State{


public void doAction(Context context) {
System.out.println("stop state: OFF");
context.setState(this);
}

public String toString(){


return "Stop State: TV IS OFF";
}
}

Output:

You might also like