Wpis z mikrobloga

Czy w #python stosuje się gettery i settery? Da się to zrobić, jednak nie wiem, czy jest sens. Wiem, że istnieje w tym języku enkapsulacja, dzięki której możemy stworzyć prywatne zmienne i metody mimo tego nie zauważyłem, by ktoś stosował ten mechanizm. (ʘʘ)
#naukaprogramowania #programowanie
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@TMBRK: w pythonie gettery i settery robi się za pomocą dekoratorów. I robi je się tylko jak są rzeczywiście potrzebne. Tu masz przykład. Podstawowa zaleta tego rozwiązania jest taka, że można je dodać w dowolnym momencie i nie ma to wpływu na kod korzystający z danej klasy. Dostęp z zewnątrz wygląda dalej tak samo.
  • Odpowiedz
@TMBRK: tak po prostu nie jest to prywatnosc jaka znasz z c++ czy javy. jest to prywatnosc ktora zabezpiecza przed przypadkowym wywolaniem metody, co z reszta jest napisane dwa akapity nizej.

Encapsulation prevents from accessing accidentally, but not intentionally.

The private attributes and methods are not really hidden, they’re renamed adding “Car” in the beginning of their name.


The method can actually be called using redcar.Car__updateSoftware()
  • Odpowiedz