Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Programowanie Obiektowe w Javie (c.d.)
Nguyen Hung Son Uniwersytet Warszawski
2
Tematy Klasy abstrakcyjne Interfejsy Pakiety Przegląd pakietów w Javie
Wprowadzenie do apletów
3
Klasy abstrakcyjne [extends NadKlasa] [implements Interfejsy] {
abstract final public private Synchronizable ... SKŁADNIA KLAS [ModyfikatorKlasy] class NazwaKlasy [extends NadKlasa] [implements Interfejsy] { /* definicje metod i pól */ } Pola: Modyfikator TypWartości NazwaPola Metody: Modyfikator TypZwracanejWartości Nazwa (Typ Argument1, Typ Argument2, ...) { /* implementacja (kod) metody */ }
4
Klasy abstrakcyjne W klasie abstrakcyjnej mamy:
Klasy abstrakcyjne W klasie abstrakcyjnej mamy: definicję niektórych metod (z modyfikatorem abstract) bez implementacji implementacje tych metod są w klasach potomnych nie możemy bezpośrednio stworzyć obiektów dla klas abstrakcyjnych
5
Klasy abstrakcyjne - przykład
Figura abstract Punkt Odcinek Wielokąt Trójkąt Czworokąt
6
Klasy abstrakcyjne Figura[] tab = new Figura[3];
Linia lin = new Linia(); Trojkat t = new Trojkat(); Wielokat w = new Czworokat(); ... tab[0] = lin; tab[1] = t; tab[2] = w; for(int i=0;i<3;i++){ tab[i].rysuj(); }
7
Interfejs Interfejs opisuje zbiór właściwości, które klasa musi implementować Interfejs może dziedziczyć z innych interfejsów, ale nie może dziedziczyć z klas ! [modyfikator] interface NazwaInterfejsu [extends listaInterfejsów] { . . . }
8
Interfejsy (c.d.) Wszystkie metody w interfejsie są publiczne i abstrakcyjne pola są publiczne, finalne i statyczne interface Kolekcja { int MAXIMUM = 200; void dodaj(Object obj); Object znajdz(Object obj); int liczbaObiektow(); }
9
Interfejs class Wektor implements Kolekcja{
private Object obiekty[] = new Object[MAXIMUM]; private short m_sLicznik = 0; public void dodaj(Object obj) { obiekty[m_sLicznik++]=obj; } public int liczbaObiektow(){ return m_sLicznik;
10
Temat nr 3 public Object znajdz(Object obj) {
for (int i = 0; i<m_sLicznik;i++) { if (obiekty[i].getClass() == obj.getClass()) System.out.println("Znaleziono obiekt klasy " + obj.getClass() ); return obiekty[i]; } return null;
11
Pakiety (Package) Pakiety w Javie to są podzbiory bibliotek, które mają podobne funkcje Pakiety mogą zawierać interfejsy Najważniejsze pakiety w Javie: java.lang.* java.util.* java.awt.*
12
Przykład package moje.graf; package moje.graf; public class Kwadrat
.../moje/graf/Kwadrat.java .../moje/graf/Punkt.java package moje.graf; public class Kwadrat { ... } // ... ew. definicje innych klas niepublicznych package moje.graf; public class Punkt { // definicja pól danych i metod klasy Punkt }
13
Przykład import moje.graf; class Cos { Punkt p = Punkt();
public static void main(String[] a) .... }
14
Przegląd Pakietów java.lang: Pakiet zawierający wszystkie podstawowe klasy Javy. Nie musi być jawnie importowany, ponieważ kompilator czyni to w sposób automatyczny. java.io: obsługi wejścia/wyjścia java.util: pomocnicze klasy użytkowe (np. generacja liczb losowych, operacje na ciągach znaków, kolekcje, ...)
15
Przegląd pakietów java.net: Zawiera klasy konieczne do tworzenia oprogramowania wykorzystującego sieć. Wraz z pakietem "java.io" umożliwia dostęp do sieci w celu ładowania lub wysyłania plików. java.awt: klasy służące do tworzenia graficznego interfejsu użytkownika (GUI). java.applet: Pakiet zawierający klasy używane podczas tworzenia appletów.
16
Przegląd pakietów Pakiet java.util.*
18
Aplety import java.applet.Applet; import java.awt.Graphics;
import java.awt.Color; public class SimpleApplet extends Applet { ... }
19
Przykład apletu Plik HelloWorld.class (binarny kod)
import java.applet.Applet; import java.awt.Graphics; public class HelloWorld extends Applet { public void paint(Graphics g) g.drawString("Hello world!", 50, 25); } Plik HelloWorld.class (binarny kod) <HTML><HEAD><TITLE> Przykładowy aplet </TITLE></HEAD> <BODY> Tutaj jest wynik działania apletu: <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25></APPLET> </BODY> </HTML>
20
Klasa java.applet.Applet
21
Cykl życia apletu init - wywoływana tylko raz, gdy strona WWW zawierająca aplet zostanie po raz pierwszy "załadowana", jeśli opuścimy stronę WWW zawierającą aplet i wrócimy na nią, metoda init nie będzie wykonana ponownie, start - metoda jest wykonywana za każdym razem, gdy strona, na której znajduje się aplet, staje się stroną bieżącą w przeglądarce, stop - metoda ta jest wykonywana za każdym razem, gdy do przeglądarki ładowana jest następna strona WWW, destroy - wykonywana gdy aplet kończy swoje działanie.
22
Cykl życia apletu
23
Elementy pakietu awt
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.