Wpis z mikrobloga

Szybkie pytanie #programowanie #cpp : jak macie strukturę, która miałaby mieć tylko gettery i settery dla wszystkich swoich pól, to robicie po prostu

struct
i wszystko publiczne, czy bawicie się w

class
,

private
i publiczne metody, bo OOP i hermetyzacja?
  • 9
@r3m0: Wiem, że efekt będzie podobny i jako pragmatyk wolę prostego

structa
. Ciekawi mnie, ilu jest gorliwych zwolenników OOP w tym przypadku, którzy powiedzą: "ale pole nie powinno być

public
@ponton: moze byc public i nie ma w tym nic niezgodnego z OOP - po prostu taka struktura nie moze miec metod (moze poza konstruktorami), bo wtedy juz jest problem: czy to jest "prosta struktura", a jednak ma metody, czy "obiekt", ale ma publiczne pola.

Albo same publiczne pola, albo pola prywatne + metody, nigdy oba na raz.
@ponton: Inną sprawą jest, czy to jest właściwie zaprojektowany typ. Moim zdaniem powinieneś zrobić prywatne pola + metody, ale Ty chyba pytałeś o samą kwestię czy dać struct czy class.
@ponton: jak to ma być zwykła struktura danych, dajmy na to do zastosowania do wysyłania wiadomości z/do serwisu, to publiczne pola. jeśli to ma coś faktycznie robić i żyć dłużej niż chwilę, to obiekt jak najbardziej.
@ponton: To zaleƶy czy kiedyś będziesz chciał np. logować kaƶdy zapis. Jeśli setter i getter będą słuƶyły wyłącznie zapisowi i odczytowi to zdecydowanie struktura, najlepiej POD, tak jak @kuhar mówi.