Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego
w ramach projektu
Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych
i propagowaniu wiedzy technicznej w regionie
Java Podstawy
Michał Bereta
www.michalbereta.pl
mbereta@pk.edu.pl
Modyfikatory dostępu
dostęp z dowolnej
dostęp z tej dostęp z klasy dostęp z dowolnej
klasy w tym samym
samej klasy pochodnej klasy z dowolnego
pakiecie
z dowolnego miejsca
miejsca
Modyfikatory dostępu
dostęp z klasy dostęp z klasy
pochodnej pochodnej
z tego samego pakietu z dowolnego miejsca
Klasy
Składowe statyczne
własnośd obiektu (każdy
obiekt ma swoją kopię)
należy do całej klasy (wspólne
dla wszystkich obiektów tej
klasy)
Dostęp do
Klasy
statycznych pól i
metod przez klasę
Składowe statyczne
(bez obiektu).
Dostęp do
statycznych pól i
metod przez obiekt
jest dopuszczalne.
Klasy abstrakcyjne
Klasy abstrakcyjne są to klasy, których obiektów nie można utworzyd.
Można natomiast tworzyd klasy pochodne.
Przykład
Zaproponuj zestaw klas i ich relacje do modelowania różnych figur
geometrycznych, które mają swoje sposoby rysowania się na ekranie.
(Proces rysowania zastąpimy wypisaniem wiadomości z wykorzystaniem
System.out.println() )
Klasy abstrakcyjne
Klasy abstrakcyjne
Klasa abstrakcyjna nie musi posiadad
implementacji swoich metod.
Klasy z niej się wywodzące muszą
implementowad te metody, lub same muszą
byd abstrakcyjne.
Klasy abstrakcyjne
Nie można tworzyd obiektów klas
abstrakcyjnych!
Klasy abstrakcyjne
Klasy abstrakcyjne
Klasy abstrakcyjne
Klasy abstrakcyjne
Nie można mied po prostu wielokąta.
Klasy abstrakcyjne
Klasy abstrakcyjne
Klasy abstrakcyjne
Klasy abstrakcyjne
Klasa abstrakcyjna może implementowad
wybrane metody, np. załóżmy, że kolorowanie
kształtu jest zawsze tym samym procesem.
Klasy abstrakcyjne
Zadanie
Gdzie w przykładzie o zwierzętach
powinna/powinny pojawid się klasa / klasy
abstrakcyjne?
Interfejsy
Interfejsy są sposobem definiowania wspólnych zachowao (metod, ale
również pól), dla obiektów, które nie muszą wywodzid się ze wspólnej
klasy przodka.
Interfejsy
Interfejsy
Interfejsy
Interfejsy
Przykład
Mamy klasę Ekran, której obiekty mogą rysowad Figury.
Interfejsy
Interfejsy
Chcemy rozbudowad nasz program tak by obiekt typu Ekran mógł rysowad również
obiekty klas ArtystycznyNapis oraz Bitmapa (zapewnie również inne w przyszłości).
Dziedziczenie nie jest tu możliwe.
Interfejsy
Interfejsy
Propozycja
(czy poprawna?)
Interfejsy
Interfejsy
Rozwiązanie zdaje się działad, ale co jeśli chcemy dołożyd więcej klas obsługiwanych
przez Ekran?
Jakie lepsze podejście można zaproponowad?
Interfejsy
Zły projekt
Interfejsy
Lepszy projekt
Projekt
Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu
przedmiotów ścisłych i propagowaniu wiedzy technicznej w regionie
współfinansowany przez Unię Europejską ze środków
Europejskiego Funduszu Społecznego
Instytut Fizyki Politechniki Krakowskiej
pok. F206a, ul. Podchorążych 1, 30-084 Kraków
tel.: +48 12 6370666 w. 28, faks: +48 12 6371446
e-mail: wiedza@pk.edu.pl
www.wiedza.pk.edu.pl
Wyszukiwarka
Podobne podstrony:
07 Java klasy abstrakcyjne, interfejsy, polimorfizm 0Java Klasyjava security interfaces DSAKeyjava security interfaces DSAPublicKeyjava security interfaces DSAPrivateKeyJava Klasy(1)Java Klasyjava security interfaces DSAParamsjava security interfaces DSAKeyPairGeneratorPackage java security interfacesOMÓWIENIE INTERFEJSÓW I KLAS ABSTRAKCYJNYCH W JĘZYKU JAVAJAVA 09 klasy i obiekty(2)Implementacja klasy HID interfejsu USB w STM32design user interface?ABE09Fjava text FieldPositionjavajava text CollationElementIteratorjava io InvalidClassExceptiontworzenie aplikacji w jezyku java na platforme androidwięcej podobnych podstron