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
iis 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.