Java 06 Klasy Interfejsy

background image

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

background image

Modyfikatory dostępu

dostęp z tej
samej klasy

dostęp z dowolnej
klasy w tym samym
pakiecie

dostęp z klasy
pochodnej
z dowolnego
miejsca

dostęp z dowolnej
klasy z dowolnego
miejsca

background image

Modyfikatory dostępu

dostęp z klasy
pochodnej
z tego samego pakietu

dostęp z klasy
pochodnej
z dowolnego miejsca

background image

Klasy

Składowe statyczne

należy do całej klasy (wspólne
dla wszystkich obiektów tej
klasy)

własnośd obiektu (każdy
obiekt ma swoją kopię)

background image

Klasy

Składowe statyczne

Dostęp do
statycznych pól i
metod przez obiekt
jest dopuszczalne.

Dostęp do
statycznych pól i
metod przez klasę
(bez obiektu).

background image

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() )

background image

Klasy abstrakcyjne

background image

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.

background image

Klasy abstrakcyjne

Nie można tworzyd obiektów klas
abstrakcyjnych!

background image

Klasy abstrakcyjne

background image

Klasy abstrakcyjne

background image

Klasy abstrakcyjne

background image

Klasy abstrakcyjne

Nie można mied po prostu wielokąta.

background image

Klasy abstrakcyjne

background image

Klasy abstrakcyjne

background image

Klasy abstrakcyjne

background image

Klasy abstrakcyjne

Klasa abstrakcyjna może implementowad
wybrane metody, np. załóżmy, że kolorowanie
kształtu jest zawsze tym samym procesem.

background image

Klasy abstrakcyjne

Zadanie

Gdzie w przykładzie o zwierzętach

powinna/powinny pojawid się klasa / klasy
abstrakcyjne?

background image

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.

background image

Interfejsy

background image

Interfejsy

background image

Interfejsy

background image

Interfejsy

Przykład

Mamy klasę Ekran, której obiekty mogą rysowad Figury.

background image

Interfejsy

background image

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.

background image

Interfejsy

background image

Interfejsy

Propozycja
(czy poprawna?)

background image

Interfejsy

background image

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?

background image

Interfejsy

Zły projekt

background image

Interfejsy

Lepszy projekt

background image

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:
JAVA 09 klasy i obiekty(2)
JAVA 06 Nieznany
06 Klasy?resów IP
06.Klasy (4) , KLASY
06 Klasy systemow MRP ERPid 6315 ppt
Java 05 Klasy(1)
Java 05 Klasy
06 Klasy systemow MRP ERP Kopiaid 6316 ppt
JAVA 06 wejście i wyjście
Opracowane pytania z Testu Java 06
06.Klasy (2) , KLASY
java 2 object classes interfaces packages annotations
JAVA 09 klasy i obiekty(2)
java 06
java 06
07 Java klasy abstrakcyjne, interfejsy, polimorfizm 0
Elektroinstalator 2009 06 koordynacja ochronników klasy I [B] i II [C]

więcej podobnych podstron