background image

Języki Programowania 

 

 

 

Środowisko BlueJ 

http://www.bluej.org 

background image

Zaczynamy pracę z BlueJ 

Klikamy dwukrotnie 
na ikonę BlueJ 

Otwieramy nowy 
projekt 

New Project 

 
Pojawia się wiele 
predefiniowanych 
projektów (klas) 

Wybieramy nazwę 

przyklady 

BlueJ, pierwsza klasa 

nowa klasa 

nazwa 

Hello 

powstała nowa klasa 

Hello.java 

prawym przyciskiem 
myszy wywołujemy 
menu kontekstowe, 
z którego możemy 
np. dokonać edycji 

background image

Edycja i kompilacja 

Edytor podaje gotowy kod 
źró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 

Tworzenie obiektów 

Klasa 

Hello

 w oknie 

BlueJ oznacza tylko, że 
klasa ta została 
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 

Tworząc kolejny obiekt z danej klasy należy 
mu nadać unikatową nazwę, w tym przypadku 
np. 

hello3

. Konstruktor obiektów sam 

podpowiada kolejne numery obiektów 

background image

Obiekty 

– sedno programowania 

Obiekty

 

są podstawą idei 

progra-

mowania obiektowego

 

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

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: 

circle1 
circle2 
square1 

Uwaga:

 

powszechnie przyjęta jest konwencja, że 

nazwy 

klas

 

zaczynają się od dużej, a nazwy 

obiektów

 

od małej litery 

background image

Dlaczego nie widać kółka? 

Dokonujemy 

inspekcji

 

obiektu 

kolo

 

wybierając 

z menu kontekstowego 
opcję 

Inspect 

10 

isVisible = false 

Otwiera się okno inspektora 

Parametr 

isVisible 

 

ma wartość 

false 

 
Należy go zmienić,  
ale w jaki sposób? 

background image

11 

Metoda 

makeVisible() 

W menu kontekstowym obiektu 
kolo znajdujemy 

metodę 

makeVisible() 

Klikamy na tę opcję i .... 
Koło pojawia się w oknie konsoli 

BlueJ 

12 

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

background image

13 

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 

14 

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

background image

15 

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

16 

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 

background image

17 

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 

 

18 

Nowa klasa 

– Malarz 

Otwieramy w 

BlueJ

 projekt 

shapes

 

i tworzymy nową klasę 

o nazwie 

Malarz 

 

Następnie zaczynamy edytować 
nową klasę 

background image

10 

19 

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 

20 

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 

background image

11 

21 

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    

       

       

         

    jeszcze nieutworzonego obiektu  

       

       

         

    klasy 

Circle 

 

         
         

       

         

   

utwórz nowy obiekt klasy 

Circle

  

       

       

         

   

i nadaj mu nazwę 

slonce 

 

 

Uwaga:  

Java rozróżnia wielkość liter, dlatego: 

   

CIRCLE ≠ Circle ≠ circle 

 

Circle slonce

 
 
 
slonce = new Circle( ); 

22 

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 

slonce

, który należy do 

klasy 

Circle 

Utwórz nowy obiekt klasy 

Circle 

background image

12 

23 

Klasa Malarz z obiektami 

Klasa może być już 
kompilowana 
 
Można tworzyć obiekty 
 
 
 
 
W czasie kompilacji nie 
wystąpiły żadne błędy 

24 

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 

background image

13 

25 

Inspekcja obiektu 

prymitywista 

Strzałki oznaczają odwołanie do obiektu <object reference> 

Podwójne kliknięcie na 
link wywołuje okno 
inspektora 
wskazywanego obiektu 

Inspektor wskazuje, że prymitywista ma 
pola o nazwach 

slonce

sciana

okno

 

dach 

Nie są to liczby, ale obiekty odpowiednio 
klas: 

Circle

Square

Square

 i 

Triangle 

26 

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... 

background image

14 

27 

Nagłówek metody 

Nagłówek metody Javy 

 

void

 

rysujDom( )

Typ wyniku wyprodukowa-
nego (obliczonego) przez 
metodę. Jeśli metoda nie 
zwraca żadnego wyniku 
używa się słowa 

void 

Nazwa metody 

– 

zgodnie z konwencją 
zaczyna się od małej 
litery 

Lista parametrów metody, 
nawiasów nie można 
pominąć, nawet gdy lista 
jest pusta 

Przykłady nagłówków innych metod 
 

void

 

rysujAkwarium( )

void

 

makeVisible( )

void

 

changeColor(

String

 

kolor

)

void

 

moveHorizontal(

int

 

distance

)

28 

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      

 

 

background image

15 

29 

Uruchamiamy 

prymitywistę 

wschód słońca 
na kempingu ? 

Tworzymy obiekt klasy 

Malarz

 i 

nazywamy go 

prymitywista

W menu kontekstowym obiektu 

prymitywista

 znajdujemy 

metodę 

void rysujDom()

           

i widzimy ....  

Niezupełnie o to nam chodziło, ale na początek i tak nieźle ... 

30 

Zadanie domowe 

Zmodyfikować klasę 

Malarz

 

w taki sposób, 

by obiekt tej klasy dysponował metodą wygenerowania 
załączonego obrazu