czwartek, 13 października 2011

Drobny wykład o konstruktorach klas

Dzisiejszy artykuł poświęcę konstruktorom klas.
Mini-wykład  ten jest skierowany do raczkujących programistów. Proszę więc o wyrozumiałość, jeżeli moje tłumaczenia będą do bólu łopatologiczne.

Przykłady będę pisać w języku C++, jednak logika jest identyczna w każdym języku obiektowym.

Aspekty poruszone w artykule:

* konstruktor klasy
* przeciążanie konstruktorów
* destruktory klas
* destruktory wirtualne
* konstruktor kopiujący
* dynamiczna alokacja pamięci - przeciążanie konstruktora kopiującego

sobota, 10 września 2011

4 podstawowe założenia programowania obiektowego.

Wielu początkujących programistów tworzy kod zupełnie ignorując niektóre z nich; inni stosują je, nie wiedząc tak naprawdę po co. Kluczem do produkowania kodu zdatnego do dalszego przetwarzania jest jednak ich głębsze zrozumienie.


Czy można pisać programy zupełnie ignorując te 4 podstawowe zasady? Można, program skompiluje się, zadziała, może nawet wykona się szybciej niż przy uwzględnianiu tych zalożeń. Problem, jak to zwykle w programowaniu bywa, pojawia się później, gdy dojdą nowe założenia programu. Wówczas modyfikacja kodu niespełniającego ww. założeń często trwa więcej, niż napisanie całego kodu od początku.


Zasady programowania obiektowego (w kolejności alfabetycznej) :


- Abstrakcja
- Dziedziczenie
- Hermetyzacja
- Polimorfizm


Początkowo rozpatrzmy dziedziczenie, abstrakcję oraz polimorfizm, gdyż są one ze sobą ściśle powiązane. Hermetyzację zostawimy sobie na koniec.


Rozpatrywane przykłady będę pisać w języku C++.