Wprowadzenie do programowania obiektowego Michail Mokkas
Spis treści Programowanie strukturalne Instrukcja GOTO Programowanie obiektowe Typy proste Klasy Obiekty Zmienne Metody Instrukcje warunkowe Instrukcje iteracyjne (pętle) Zintegrowane środowisko programistyczne (IDE) Wpisywanie i wypisywanie (do konsoli) Zadania
Programowanie strukturalne Paradygmat programowania Charakteryzuje się podziałem kodu źródłowego programu na bloki Wykorzystuje struktury kontrolne instrukcje warunkowe instrukcje iteracyjne (pętle) Wykorzystuje funkcje/procedury Odpowiedź na mającą złą reputację instrukcję GOTO
Instrukcja GOTO źródło rysunku: http://imgs.xkcd.com/comics/goto.png
Programowanie obiektowe Paradygmat programowania Bazuje na koncepcji obiektów Posiada struktury kontrolne Programy składają się z obiektów bezpośrednio wpływających na siebie Ułatwia proste modyfikacje/dorabianie kodu poprzez mechanizmy jak np. dziedziczenie Umożliwia enkapsulację/hermetyzację – powiązywanie danych i metod oraz restrykcja dostępu do nich
Typy proste Służą do przechowywania i manipulacji prostych danych. Najbardziej bazowe typy danych w Javie: byte - reprezentuje bajt danych w postaci liczby całkowitej z zakresu -127 do 128 char - reprezentuje jeden znak/symbol short - reprezentuje liczbę całkowitą (zakres -2^15 do (2^15)-1 ) int - reprezentuje liczbę całkowitą (zakres -(2^31) do (2^31)-1 ) long - reprezentuje liczbę całkowitą (zakres -(2^63) do (2^63)-1 ) float - reprezentuje liczbę zmiennoprzecinkową double - reprezentuje liczbę zmiennoprzecinkową (dokładniejsza) boolean - reprezentuje zmienną logiczną z wartościami (true/false)
Klasy Szablon, który tworzy obiekty. źródło rysunku: http://multimedia.journalism.berkeley.edu/media/upload/tutorials/flash/actionscript/class-object.jpg
Obiekty Łączą stan i zachowanie programu Tworzenie obiektów: stan – dane (pola) zachowanie – metody Tworzenie obiektów:
Zmienne Zmienne klasowe - ta sama zmienna dla każdej instancji danej klasy (static) Zmienne instancji – zmienna może się różnić pomiędzy instancjami danej klasy Zmienne lokalne – wykorzystywane jedynie w obszarze metody Zmienne jako parametry/argumenty metod – przekazywane do metod 2 1 4 3
Metody Sposób komunikacji z obiektami. Wywołując metodę, pytamy obiekt o wykonanie poszczególnego zadania.
Instrukcje warunkowe Dają możliwość aplikacji podjęcia innej ścieżki w zależności od warunków.
Instrukcje iteracyjne (pętle) Umożliwiają wielokrotne wykonywanie danej operacji bez większego wysiłku programisty.
Wpisywanie i wypisywanie (do konsoli) Wpisywanie do konsoli:
Zintegrowane środowisko programistyczne (IDE) Eclipse Netbeans IntelliJ IDEA JCreator
Zadanie A1 Napisz program, który umożliwi użytkownikowi wpisanie dowolnej liczby całkowitej z zakresu [1-99], po czym wyświetli ją w konsoli w postaci słownej. np. 23 -> dwadzieścia trzy
Zadanie A2 Napisz program, który po wpisaniu dowolnej liczby całkowitej (int) poda najbliższą liczbę pierwszą. W przypadku pojawienia się dwóch o tej samej bliskości, wybierze większą. np. 6 -> 7 //nie 5
Zadanie A3 Napisz program, który będzie przechowywał kontakty (nazwa, numer telefonu, adres e-mail). Kontakty mogą być predefiniowane z poziomu kodu. Program pyta o selekcję trybu wyszukiwania (po nazwie, numerze telefonu lub adresie e-mail). Program prosi o wpisanie konkretnej wartości i wypisuje wszystkie powiązane z nim informacje w postaci: Imię i nazwisko: nazwa, tel.: numer telefonu, e-mail: adres e-mail
Zadanie A4 Napisz program, który będzie symulować pracę biletomatu. Użytkownik podaje ilość biletów (zakładamy, że każdy kosztuje 4 PLN). Pogram prosi o dokonanie zapłaty. Użytkownik wpisuje kwotę do konsoli. Program wypisuje należną resztę w postaci: Suma reszty: (a+b+c+d+e) PLN a = 200*A b = 100*B c = 50*C d = 20*D e = 10*E f = 5*F g = 2*G h = 1*H Gdzie A-H to ilość wydanych banknotów/monet, z których składa się reszta. Zakładamy, że biletomat posiada nieograniczoną liczbę zasobów banknotów oraz monet, a także prioretyzuje wypłatę mozliwie największych nominałów.