🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
7 messages
7 total messages Started by Dsue Tue, 24 May 2011 12:32
getter, setter
#28116
Author: Dsue
Date: Tue, 24 May 2011 12:32
12 lines
1108 bytes
Dla rozruszania grupy zadam kolejne głupie pytanie:

Załóżmy że tworzę sobie klasę a w niej mam jakieś pola. Jak jest [lepiej|
ładniej|bezpieczniej] - pisać funkcje zwracające wartość pola czy owoływać 
się bezpośrednio?

Jestem przyzwyczajony do pisania funkcji ustawiających/pobierających 
wartości ale to w innych językach (private, public i inne takie) - tam widzę 
w tym sens.

Pozdrawiam
Dsue
Re: getter, setter
#28117
Author: szatkus
Date: Tue, 24 May 2011 15:20
21 lines
1531 bytes
On Tue, 24 May 2011 14:32:09 +0200
Dsue <dsue@na.onecie> wrote:

> Dla rozruszania grupy zadam kolejne głupie pytanie:
> 
> Załóżmy że tworzę sobie klasę a w niej mam jakieś pola. Jak jest [lepiej|
> ładniej|bezpieczniej] - pisać funkcje zwracające wartość pola czy owoływać 
> się bezpośrednio?
> 
> Jestem przyzwyczajony do pisania funkcji ustawiających/pobierających 
> wartości ale to w innych językach (private, public i inne takie) - tam widzę 
> w tym sens.
> 
> Pozdrawiam
> Dsue
> 

Ja się odwołuję bezpośrednio. A jeśli przy zmianie wartości ma się dziać coś więcej to stosuję property.
Tak to nie widzę za bardzo sensu tworzenia osobnych metod do zwykłej zmiany wartości.
-- 
szatkus <szatkus@gmail.com>
Re: getter, setter
#28118
Author: Dsue
Date: Tue, 24 May 2011 18:58
14 lines
1264 bytes
szatkus wrote:

>> 
> 
> Ja się odwołuję bezpośrednio. A jeśli przy zmianie wartości ma się dziać
> coś więcej to stosuję property. Tak to nie widzę za bardzo sensu tworzenia
> osobnych metod do zwykłej zmiany wartości.

Taak, pokusa duża. Mam klasę która z logicznej strony powinna być właśnie 
klasą ale bez setow i getow bedzie bardzo uboga "w ciało". No i mam 
zagwozdkę - trzymać sie przyjętego planu czy dać sobie spokój.

Pozdrawiam
Dsue
Re: getter, setter
#28119
Author: Waldek M.
Date: Tue, 24 May 2011 19:54
11 lines
1371 bytes
Dnia Tue, 24 May 2011 20:58:39 +0200, Dsue napisał(a):
> Taak, pokusa duża. Mam klasę która z logicznej strony powinna być właśnie 
> klasą ale bez setow i getow bedzie bardzo uboga "w ciało". No i mam 
> zagwozdkę - trzymać sie przyjętego planu czy dać sobie spokój.

I dobrze - im mniej kodu, tym lepiej (w granicach rozsądku).
Jeśli jednak chciałbyś kontrolować np. typy pól obiektu
lub ich wartości - wtedy nie ma jak property.

Pozdrawiam,
Waldek
Re: getter, setter
#28122
Author: Adam Byrtek
Date: Tue, 24 May 2011 20:26
13 lines
1363 bytes
On 05/24/2011 02:32 PM, Dsue wrote:
> Załóżmy że tworzę sobie klasę a w niej mam jakieś pola. Jak jest [lepiej|
> ładniej|bezpieczniej] - pisać funkcje zwracające wartość pola czy owoływać
> się bezpośrednio?

Sugeruję odwoływać się bezpośrednio, a w przyszłości w razie potrzeby 
zamienić na property (dzięki czemu interface pozostanie bez zmian).

Na początek warto jednak zastanowić się, czy aby na pewno pole musi być 
widoczne na zewnątrz, i rozważyć alternatywne rozwiązania.

Pozdrawiam,
Adam
Re: getter, setter
#28120
Author: Stachu 'Dozzie' K.
Date: Tue, 24 May 2011 20:38
17 lines
1761 bytes
On 2011-05-24, Dsue <dsue@na.onecie> wrote:
> szatkus wrote:
>
>>> 
>> 
>> Ja się odwołuję bezpośrednio. A jeśli przy zmianie wartości ma się dziać
>> coś więcej to stosuję property. Tak to nie widzę za bardzo sensu tworzenia
>> osobnych metod do zwykłej zmiany wartości.
>
> Taak, pokusa duża. Mam klasę która z logicznej strony powinna być właśnie 
> klasą ale bez setow i getow bedzie bardzo uboga "w ciało".

Prawie że struktura (struct) z C czy C++. I dobrze, to też ma sens.

-- 
Secunia non olet.
Stanislaw Klekot
Re: getter, setter
#28121
Author: Adam Byrtek
Date: Tue, 24 May 2011 21:18
9 lines
1281 bytes
On 05/24/2011 10:38 PM, Stachu 'Dozzie' K. wrote:
>> >  Taak, pokusa duża. Mam klasę która z logicznej strony powinna być właśnie
>> >  klasą ale bez setow i getow bedzie bardzo uboga "w ciało".
> Prawie że struktura (struct) z C czy C++. I dobrze, to też ma sens.

...albo "data object", jeśli ktoś woli obiektową terminologię.

Pozdrawiam,
Adam
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads