Podstawa
Witaj na pierwszym artykule nawiązującym do języka Java. Jest to język typowo obiektowy. Jest on bardzo popularny oraz bardzo ceniony na rynku pracy . Nie jest trudnym językiem jednakże dla początkujących stwarza wiele kłopotów . Mianowicie sedno tkwi w widzeniu programu z punktu widzenia paradygmatu obiektywności . Głównymi elementami są klasy i obiekty które reprezentują je . Znacząco różni się od podejścia proceduralnego ,gdzie schemat programu jest podzielony na procedury. W podejściu obiektowym jest to bardziej "opakowane". Operacje sa hermetyzowane , opisywane są na wyższym stopniu abstrakcji. Dostęp do składowych oraz metod jest hermetyzowany oraz podstawa funkcjonalności jest dziedziczenie które tworzy nam hierarchię oraz diametralnie skraca nam długość pisanego kodu :)
Jednym z moich podstawowych wierzeń o programowaniu jest fakt iż postęp niesie nam udogodnienia, tak jak dla " leniwego " programisty niesie niezwiedzenie efektywności oraz funkcjonalności. Prowadzi po części do rozwoju technologicznego ! Przykładem może być właśnie rozwój potrzeb , każde chęci niosą za sobą pewne następstwa.
Ale nic wracamy do tematu , a więc podstawa programowania obiektowego to :
- Abstrakcja - cecha programowania służy do opisu , przedstawianiu oraz modelowaniu części świata realistycznego do przestrzeni komputera . Zaimplementowane dane okazują cechy obiektów reprezentujące dana klasę , jednakże musza one być bardziej rozwinięte aby korzystać z tej funkcjonalności . Pokazane będzie to na konkretnych przykładach .
- Hermetyzacja - cecha polegająca na ukrywaniu , maskowaniu danych . Składowe oraz metody sa używane poprzez jasno sformułowana hierarchię opisana przez programistę . Ukrywane dane są udostępniane poprzez interfejs który enkapsułuje nam dostęp do informacji
- Dziedziczenie - forma zapisu porządkująca cechy obiektów , wprowadza nam możliwość kontroli . Ukazać można to w formie architektury drzewiastej.
- Polimorfizm - cecha pozwalająca w wieloraki sposób przestawić funkcjonalność . Mechanizm jest kojarzony z wielopostaciowością pozwalająca przedstawiać w podejściu abstrakcyjnym konkretne funkcjonalności oraz typy . Przykładem jest np różny sposób drukowania liczb czy cyfr .