programowanie obiektowe

Istotą programowania zorientowanego obiektowo jest stworzenie w programie modelu rozwiązywanego problemu. Programowanie zorientowane obiektowo zmniejsza ryzyko popełnienia błędu przy pisaniu programu i sprzyja wielokrotnemu wykorzystaniu raz napisanego kodu. Python jest językiem programowania zorientowanym obiektowo. Obiekty zdefiniowane w języku Python mają następujące cechy:

  • Tożsamość. Każdy obiekt musi być odrębny i musi być możliwość sprawdzenia, czy faktycznie jest odrębny. Służą do tego operatory is i is not.
  • Stan. Musi istnieć możliwość zapisania stanu w każdym obiekcie. Służą temu atrybuty, takie jak zmienne, w tym zmienne lokalne instancji.
  • Zachowanie. Każdy obiekt musi mieć zdolność manipulowania swoim stanem. Służą do tego metody.

Następujące cechy języka Python pomagają w programowaniu zorientowanym obiektowo:

  • Tworzenie obiektu opartego na klasach. Klasy są szablonami do tworzenia obiektów. Obiekty i struktury danych, z którymi są skojarzone zachowania.
  • Dziedziczenie i polimorfizm. Język Python oferuje mechanizm dziedziczenia pojedynczego i wielokrotnego. W języku Python wszystkie metody instancji są polimorficzne i mogą być przesłaniane przez podklasy.
  • Hermetyzacja z ukrywaniem danych. Python umożliwia ukrywanie atrybutów. Po ukryciu można uzyskać dostęp do atrybutów spoza klasy tylko za pomocą metod klasy. Klasy implementują metody służące do modyfikacji danych.