Załóżmy, że w prywatnej części klasy istnieje wartość, która jest wykorzystywana przez wiele prywatnych metod. Czy ludzie wolą zdefiniować tę zmienną jako zmienną składową klasy lub przekazać ją jako argument każdej z metod - i dlaczego?
Z jednej strony widziałem argument, że należy zredukować stan (tj. Zmienne składowe) w klasie, co jest ogólnie dobrą rzeczą, chociaż jeśli ta sama wartość jest wielokrotnie wykorzystywana w metodach klasy, wydaje się, że byłaby idealna kandydat do reprezentacji jako stan, aby klasa uczyniła kod wyraźnie widocznym, jeśli nic więcej.
Edytować:
Aby wyjaśnić niektóre z podniesionych komentarzy / pytań, nie mówię o stałych i nie odnosi się to do żadnego konkretnego przypadku, a jedynie hipotetyczny, o którym rozmawiałem z innymi ludźmi.
Ignorując przez chwilę kąt OOP, szczególny przypadek użycia, o którym myślałem, był następujący (załóżmy, że przekazujemy referencję tylko po to, aby pseudokod był czystszy)
int x
doSomething(x)
doAnotherThing(x)
doYetAnotherThing(x)
doSomethingElse(x)
Mam na myśli to, że istnieje pewna zmienna, która jest wspólna dla wielu funkcji - w moim przypadku było to spowodowane łańcuchem mniejszych funkcji. W systemie OOP, jeśli byłyby to wszystkie metody klasy (powiedzmy z powodu refaktoryzacji poprzez wyodrębnienie metod z dużej metody), zmienna ta mogłaby zostać przekazana wokół nich wszystkich lub mogłaby być członkiem klasy.