metódus, mint paraméter?

0 értékelés
284 megtekintés
hazazs (22 pont) kérdezte Már 27.
hazazs szerkesztett Ápr 9.

Sziasztok!

Van egy táblázatom 3 oszloppal, és mindháromra kellene egy "Cellaszerkesztés figyelő".

firstNameCol.setOnEditCommit(
            new EventHandler<TableColumn.CellEditEvent<Person, String>>() {
                @Override
                public void handle(TableColumn.CellEditEvent<Person, String> t) {
                    if (t.getNewValue().length() > 0) {
                        ((Person) t.getTableView().getItems().get(t.getTablePosition().getRow())).setFirstName(t.getNewValue());
                        dataBase.updatePerson((Person) t.getTableView().getItems().get(t.getTablePosition().getRow()));
                    } else {
                        table.refresh();
                      }
                }
            }
        );

Jelenleg ezt a kódot háromszor kell megírnom, mivel az egyikben setFirstName, a másikban setLastName, míg a harmadikban setEmail metódus van.

Hogy lehetne megoldani, hogy az aláhúzott oszlopot és settert paraméterként beadjam egy másik metódusba, hogy ne kelljen ezt háromszor megírni?

Előre is köszi,

hazazs

Herold (52 pont) szólt hozzá Ápr 8.
Herold áthelyezve Máj 22.
Kódként formázd meg a kódot légyszi.

betűtípus: Courier New, méret: 10, formátum: Formázott
hazazs (22 pont) szólt hozzá Ápr 9.
Köszi a javaslatot, átírtam.

1 Válasz

0 értékelés
Turan79 (32 pont) válaszolta meg Szep 7.
Szia,

Design Patternek közül a strategy pattern pont erre való. Ha nincs másik ilyen osztályod csak ez az egy, akkor lehet, hogy overkill, de mindenképpen érdemes megnézned:

https://www.tutorialspoint.com/design_pattern/strategy_pattern.htm

idén még ingyenes, automate tesztetkkel ellátott tanfolyam:
https://hyperskill.org/learn/step/3556
...