JP SS 6 BlueJ


Języki Programowania
Åšrodowisko BlueJ
http://www.bluej.org
2
1
Zaczynamy pracÄ™ z BlueJ
Klikamy dwukrotnie
na ikonÄ™ BlueJ
Otwieramy nowy
projekt
New Project
Pojawia siÄ™ wiele
predefiniowanych
projektów (klas)
Wybieramy nazwÄ™
przyklady
3
BlueJ, pierwsza klasa
prawym przyciskiem
myszy wywołujemy
nowa klasa
menu kontekstowe,
z którego możemy
np. dokonać edycji
nazwa Hello
powstała nowa klasa Hello.java
4
2
Edycja i kompilacja
Edytor podaje gotowy kod
zródłowy wcześniej
zapisanej klasy Hello
TworzÄ…c nowÄ… klasÄ™ trzeba
ten kod wpisać, a potem
można go modyfikować -
edytować
Gotowy kod można
poddać tłumaczeniu -
kompilacji
5
Tworzenie obiektów
Tworząc kolejny obiekt z danej klasy należy
Klasa Hello w oknie
mu nadać unikatową nazwę, w tym przypadku
BlueJ oznacza tylko, że
np. hello3. Konstruktor obiektów sam
klasa ta została
podpowiada kolejne numery obiektów
poprawnie skompilowana,
na razie jednak nie można
z niej korzystać w
praktyce
U dołu okna widać, że
wcześniej zostały już
utworzone dwa obiekty
z klasy Hello o
nazwach hello1 i
hello2
6
3
Obiekty  sedno programowania
Obiekty sÄ… podstawÄ… idei progra-
mowania obiektowego.
W BlueJ wszystkie własności
obiektów można przywołać przez
menu kontekstowe
Można przy tym obejrzeć
wewnętrzne właściwości obiektów
(Inspect) lub usunąć obiekt
(Remove)
7
Figury jako obiekty
Otwieramy zdefiniowanÄ…
przykładową klasę shapes
i tworzymy obiekty klas
Circle
Square
Triangle
Możemy nadać własne
nazwy obiektów, np.:
kolo
kwadrat
trojkat
Lub zaakceptować
proponowane przez BlueJ
nazewnictwo typu:
Uwaga: powszechnie przyjęta jest konwencja, że
circle1
nazwy klas zaczynają się od dużej, a nazwy
circle2
obiektów od małej litery
square1
8
4
Dlaczego nie widać kółka?
Dokonujemy inspekcji
obiektu kolo wybierajÄ…c
z menu kontekstowego
opcjÄ™ Inspect
9
isVisible = false
Otwiera siÄ™ okno inspektora
Parametr isVisible
ma wartość false
Należy go zmienić,
ale w jaki sposób?
10
5
Metoda makeVisible()
W menu kontekstowym obiektu
kolo znajdujemy metodÄ™
makeVisible()
Klikamy na tÄ™ opcjÄ™ i ....
Koło pojawia się w oknie konsoli
BlueJ
11
Badanie metod
W podobny sposób powodujemy pojawienie
się obiektów kwadrat i trojkat
Następnie wywołujemy kolejno metody:
obiekt kwadrat metoda moveRight()
obiekt kolo metoda moveDown()
obiekt kwadrat metoda moveRight()
obiekt kwadrat metoda moveUp()
12
6
Metody z argumentami
Zmienimy teraz wielkość koła wywołując
zwiÄ…zanÄ… z nim metodÄ™
changeSize(int)
Otwiera się okno dialogowe, w które
wprowadzamy nową wartość średnicy
koła w pikselach
Typ parametru int oznacza, że jest on
liczbą całkowitą.
Wpisujemy wartość 100 i konsola
pokazuje większe koło o średnicy 100
pikseli
13
Kolejne obiekty
tworzymy kolejne dwa obiekty klasy Circle
kolo2
kolo3
i przesuwamy jedno z nich o 100 pikseli w prawo a
drugie o 50 pikseli w dół, po czym uwidaczniamy je
metodÄ… makeVisible()
Na ekranie widzimy jednak tylko dwa niebieskie
koła. Gdzie jest trzecie koło?
Duże niebieskie koło (obiekt kolo) przesłania inne
niebieskie koło (obiekt kolo3)
Aby uwidocznić obiekt kolo3 w jego menu
szukamy metody changeColor(string)
14
7
Argumenty typu string
Argumentem metody
changeColor(String) jest łańcuch
znaków. W tym przypadku BlueJ pozwala
wybrać jeden z 6 kolorów. Wybieramy np.
 yellow
Na konsoli pojawia siÄ™ niewidoczne
dotąd żółte koło (obiekt kolo3)
15
Powtórna inspekcja
żð WywoÅ‚ujemy inspektora obiektu
kolo i widzimy, że ma on nowe
wartości pól:
żð diameter
żð xPosition
żð yPosition
żð isVisible
żð Pola opisujÄ…ce obiekty majÄ… najczęściej jeden z trzech
podstawowych typów:
żð int
żð String
żð boolean
16
8
Malarz  program Java
żð DotÄ…d wszystkie operacje na klasach, obiektach i ich parametrach
(wartościach pól) wykonywaliśmy interaktywnie, przy pomocy myszy
i odpowiednich opcji w menu. Czy można te operacje
zaprogramować w języku Java?
żð W jaki sposób tworzyć obiekty i nadawać im nazwy używajÄ…c zapisu
w języku Java, a w szczególności jak
żð Utworzyć obiekt klasy Circle i nadać mu nazwÄ™, np. kolo2
żð Utworzyć obiekt klasy Square i nadać mu nazwÄ™, np. kwadrat
żð Jak zaprogramować takie czynnoÅ›ci?
żð Stworzymy w tym celu nowÄ… klasÄ™ i nazwiemy jÄ… Malarz
17
Nowa klasa  Malarz
Otwieramy w BlueJ projekt
shapes i tworzymy nowÄ… klasÄ™
o nazwie Malarz
Następnie zaczynamy edytować
nowÄ… klasÄ™
18
9
Klasa Malarz
żð Po wywoÅ‚aniu edycji nowej klasy
Malarz BlueJ otwiera okno
klasy z tzw. szkieletem klasy.
Kasujemy wszystko z wyjÄ…tkiem
definicji
class Malarz
żð Oraz nawiasów klamrowych
{
}
żð Nawiasy obejmujÄ… przyszÅ‚Ä… treść
tworzonej klasy
19
Co ma zawierać klasa Malarz
żð zakÅ‚adamy, że klasa Malarz, a wiÄ™c i obiekty utworzone
z tej klasy powinny:
żð tworzyć (rysować) obiekty w postaci kół, prostokÄ…tów i trójkÄ…tów i
nadawać im nazwy
żð zawierać metodÄ™, np. rysujDom( ), która:
żð utworzy i umieÅ›ci w odpowiednich miejscach obiekty skÅ‚adowe
tworzÄ…ce rysunek domu
żð bÄ™dzie je mogÅ‚a powiÄ™kszać lub zmniejszać
żð uwidoczni na konsoli poszczególne obiekty
żð bÄ™dzie mogÅ‚a zmieniać barwy elementów rysunku domu
20
10
Tworzenie obiektów
żð Tworzenie (konstrukcja) obiektów skÅ‚ada siÄ™ z dwóch kroków:
żð rejestruje siÄ™ nazwÄ™ obiektu
żð tworzy siÄ™ nowy obiekt i zapamiÄ™tuje z nadana wczeÅ›niej nazwÄ…
zarejestruj nazwÄ™ slonce dla
Circle slonce; jeszcze nieutworzonego obiektu
klasy Circle
slonce = new Circle( ); utwórz nowy obiekt klasy Circle
i nadaj mu nazwÄ™ slonce
Uwaga: Java rozróżnia wielkość liter, dlatego:
CIRCLE `" Circle `" circle
21
Rejestracja przy tworzeniu
żð RejestracjÄ™ i utworzenie (konstrukcjÄ™) obiektu można również
wykonać w jednym kroku. Aby w ten sposób utworzyć nowy obiekt
klasy Circle i nadać mu nazwę slonce należy napisać:
Circle slonce = new Circle( );
Rejestruj nazwÄ™ obiektu
Utwórz nowy obiekt klasy
slonce, który należy do
Circle
klasy Circle
22
11
Klasa Malarz z obiektami
Klasa może być już
kompilowana
Można tworzyć obiekty
W czasie kompilacji nie
wystąpiły żadne błędy
23
Malarz prymitywista
W menu kontekstowym klasy
Malarz wybieramy opcjÄ™
new Malarz(), tworzymy
nowy obiekt tej klasy i
nadajemy mu nazwÄ™
prymitywista
Następnie wchodzimy do
inspekcji obiektu
prymitywista
24
12
Inspekcja obiektu prymitywista
Strzałki oznaczają odwołanie do obiektu
Podwójne kliknięcie na
link wywołuje okno
inspektora
wskazywanego obiektu
Inspektor wskazuje, że prymitywista ma
pola o nazwach slonce, sciana, okno
i dach
Nie sÄ… to liczby, ale obiekty odpowiednio
klas: Circle, Square, Square i
Triangle
25
Malarz może już malować
Aby obiekt klasy Malarz mógł malować należy
klasę wyposażyć w metodę malowania.
Metody języka Java składają się z nagłówka i
ciała
Nagłówek zawiera:
" typ wyniku  u nas brak  void
" nazwÄ™ metody  rysujDom
" listę parametrów  u nas pusta ( )
Ciało zawiera opis czynności, które wykonuje
metoda:
" slonce.makeVisible();
" slonce.changeColor( yellow );
" slonce.moveHorizontal(100);
" itd...
26
13
Nagłówek metody
Nagłówek metody Javy
void rysujDom( );
Typ wyniku wyprodukowa- Nazwa metody 
Lista parametrów metody,
nego (obliczonego) przez
zgodnie z konwencjÄ…
nawiasów nie można
metodę. Jeśli metoda nie
zaczyna się od małej
pominąć, nawet gdy lista
zwraca żadnego wyniku
litery
jest pusta
używa się słowa void
Przykłady nagłówków innych metod
void rysujAkwarium( );
void makeVisible( );
void changeColor(String kolor);
void moveHorizontal(int distance);
27
Ciało metody
Ciało metody, nazywane też blokiem zawiera następujące
elementy:
1. KlamrÄ™ otwierajÄ…cÄ… blok {
2. CiÄ…g instrukcji, np.
deklaracje zmiennych
instrukcje przypisania
pętle
wywołania metod np. slonce.makeVisible( );
....
3. KlamrÄ™ zamykajÄ…cÄ… blok }
28
14
Uruchamiamy prymitywistÄ™
Tworzymy obiekt klasy Malarz i
nazywamy go prymitywista.
W menu kontekstowym obiektu
prymitywista znajdujemy
metodÄ™ void rysujDom()
i widzimy ....
wschód słońca
na kempingu ?
Niezupełnie o to nam chodziło, ale na początek i tak niezle ...
29
Zadanie domowe
Zmodyfikować klasę Malarz w taki sposób,
by obiekt tej klasy dysponował metodą wygenerowania
załączonego obrazu
30
15


Wyszukiwarka

Podobne podstrony:
JP SS 6 Klasy i obiekty
JP SS 2 algorytmy i podstawy programowania
JP SS 5 podstawy Java
JP SS 4 start Java
JP SS 5 podstawy Java (3)
JP SS Interfejs graficzny
JP SS 1 podstawy JP
JP SS 4 wprowadzenie Java
JP SS 1 podstawy JP
JP SS 5 podstawy Java
JP SS 7 Klasy i obiekty
JP SS 3 jezyk C
JP SS 3 jezyk C
JP SS 4 start Java
JP SS 8 Instrukcje, pętle
JP SS 7 Typy i operacje
JP SS 9 Tablice IO wyjÄ…tki
JP SS 3 jezyk C

więcej podobnych podstron