Сабақтың мақсаты Java тілінде жобалау үлгілерімен танысу



бет4/4
Дата21.04.2023
өлшемі221,44 Kb.
#85093
түріСабақ
1   2   3   4
Байланысты:
Lab-9 Zhaksylykov Berik

Тапсырма-№4


Composite паттерін жүзеге асыратын мысал ойластырыңыздар. Ойластырған мысалыңыздың uml схемасы мен программа кодын көрсетіп, оны қорғайсыздар. Ойластырған мысалыңыздың uml схемасы дұрыс болса – 0.2 балл, программа коды дұрыс болса – 0.6 балл, дұрыс қорғасаңыз – 0.6 балл.
ЕСКЕРТУ: ойластырған мысалыныздың коды және uml схемасы басқа студенттің жұмысымен бірдей болмауы керек. Бірдей болған жағдайда ол жұмыс қабылданбайды.

package Task4;

import java.util.ArrayList;
import java.util.List;

interface Component {


int execute(int num1, int num2);
}

class LeafAdd implements Component {


public int execute(int num1, int num2) {
return num1 + num2;
}
}

class LeafSubtract implements Component {


public int execute(int num1, int num2) {
return num1 - num2;
}
}

class LeafMultiply implements Component {


public int execute(int num1, int num2) {
return num1 * num2;
}
}

class Composite implements Component {


private List components = new ArrayList<>();

public void addComponent(Component component) {


components.add(component);
}

public void removeComponent(Component component) {


components.remove(component);
}

public int execute(int num1, int num2) {


int result = 0;
for (Component component : components) {
result += component.execute(num1, num2);
}
return result;
}
}

public class Main_4 {


public static void main(String[] args) {
Component add = new LeafAdd();
Component subtract = new LeafSubtract();
Component multiply = new LeafMultiply();

Composite composite = new Composite();


composite.addComponent(add);
composite.addComponent(subtract);
composite.addComponent(multiply);

System.out.println("10 + 5 - 10 * 5 = " + composite.execute(10, 5));


}
}


Достарыңызбен бөлісу:
1   2   3   4




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет