Junior — Middle
Bir sınıfın mevcut durumu veya çalışma moduna bağlı olarak, sınıf içindeki farklı metod fonksiyonlarının nasıl uygulanacağını nasıl gerçekleştirirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir sınıfın yöntemlerinin farklı davranışlarını, mevcut durum veya çalışma moduna bağlı olarak uygulamak için sıkça "Durum" (State) tasarım deseni kullanılır.
Fikir, sınıfın, ortak bir arayüzü uygulayan ayrı nesneler tarafından temsil edilen içsel bir duruma sahip olmasıdır. Bir yöntem çağrısı, belirli davranışı belirleyen mevcut duruma devredilir.
Java'da örnek:
interface State {
void handle();
}
class StateA implements State {
public void handle() {
System.out.println("Durum A için davranış");
}
}
class StateB implements State {
public void handle() {
System.out.println("Durum B için davranış");
}
}
class Context {
private State state;
public void setState(State state) {
this.state = state;
}
public void request() {
state.handle();
}
}
// Kullanım
Context context = new Context();
context.setState(new StateA());
context.request(); // Durum A için davranış
context.setState(new StateB());
context.request(); // Durum B için davranış
Bu şekilde, sınıf içindeki çok sayıda koşul operatörü kullanmadan, yöntemlerin davranışını değiştirebilirsiniz.