i2


Wykorzystanie klas bibliotecznych Java Platform API, dokumentacja

 

Wprowadzenie

 

W skład platformy Java wchodzą dwa komponenty - maszyna wirtualna (interpreter bajtkodów) oraz biblioteka klas i interfejsów. W dzisiejszym przykładzie przeanalizujemy sposoby wykorzystania klas bibliotecznych wchodzących w skład każdej pełnej implementacji platformy Java. Dzisiejsze ćwiczenie będzie także związane z wyrobieniem niezbędnej wprawy w posługiwaniu się dokumentacją (Java Platform API Specification).  Podobnie jak w pozostałych przykładach, jeżeli w ćwiczeniu wykorzystana została klasa biblioteczna, to jej pierwsze wystąpienie będzie jednocześnie linkiem do jej dokumentacji.

 

Ćwiczenia

 

ćw. 1.1

Zapoznaj się z dokumentacją klasy bibliotecznej java.awt.Rectangle. W oparciu o informacje z poprzednich ćwiczeń zidentyfikuj pola, konstruktory i metody tej klasy i odpowiedz na pytanie jaka jest ich interpretacja i do czego służą. Poniżej znajdziesz kod źródłowy programu który tworzy obiekt reprezentujący prostokąt o zadanym wierzchołku, długości i wysokości i wykonuje na nim operację translacji o wektor (1,-1). Przeanalizuj przykład i porównaj użycie klasy bibliotecznej java.awt.Rectangle z użyciem Twojej własnej implementacji klasy Prostokat z poprzednich zajęć. Przypomnij sobie zagadnienia nazewnictwa klas oraz definiowania i importowania pakietów (wykład) i przeanalizuj je w kontekście wykorzystania klas Java Platform API.

 

0x01 graphic

import java.awt.Rectangle;

public class Program

{

public static void main(String[] args)

{

Rectangle obj=new Rectangle(0,0,4,3);

obj.translate(1,-1);

System.out.println(obj);

}

}

0x01 graphic

 

ćw. 1.2

Utwórz obiekt obj1 reprezentujący prostokąt o wierzchołku w punkcie o współrzędnych (0,0), długości 4 i wysokości 3 oraz obiekt obj2 reprezentujący prostokąt o wierzchołku w punkcie (1,1), długości 4 i wysokości 3. Posługując się dokumentacją klasy java.awt.Rectangle znajdź odpowiednie metody i napisz program który utworzy obiekt reprezentujący prostokąt będący przecięciem (częścią wspólną) obj1 i obj2. Skompiluj i przetestuj przykład.

 

ćw. 1.3

Utwórz obiekt obj1 reprezentujący prostokąt o wierzchołku w punkcie o współrzędnych (1,1), długości 4 i wysokości 5 oraz obiekt obj2 reprezentujący prostokąt o wierzchołku w punkcie (2,0), długości 2 i wysokości 3. Posługując się dokumentacją klasy java.awt.Rectangle znajdź odpowiednie metody i napisz program który sprawdzi czy prostokąt obj1 zawiera się w prostokącie obj2. Skompiluj i przetestuj przykład.

 

ćw. 1.4

Utwórz obiekt obj reprezentujący prostokąt o wierzchołku w punkcie o współrzędnych (-3,0), długości 6 i wysokości 3. Posługując się dokumentacją klasy java.awt.Rectangle znajdź odpowiednie metody i napisz program który sprawdzi czy punkt o współrzędnych (2,-1) leży wewnątrz prostokąta obj. Skompiluj i przetestuj przykład.

 

ćw. 1.5

Utwórz obiekt obj1 reprezentujący prostokąt o wierzchołku w punkcie o współrzędnych (1,1), długości 4 i wysokości 5 oraz obiekt obj2 reprezentujący prostokąt o wierzchołku w punkcie (4,-3), długości 4 i wysokości 3. Posługując się dokumentacją klasy java.awt.Rectangle znajdź odpowiednie metody i napisz program który sprawdzi czy prostokąt obj1 przecina prostokąt obj2. Skompiluj i przetestuj przykład.

 

ćw. 1.6

Poniżej znajdziesz kod źródłowy klasy Prostokat, która dziedziczy po bibliotecznej klasie java.awt.Rectangle. Zapoznaj się z dokumentacją klasy java.awt.Rectangle i w oparciu o informacje z wykładu zidentyfikuj elementy składowe które klasa Prostokat odziedziczy po java.awt.Rectangle. Co one reprezentują i/lub do czego służą?

 

0x01 graphic

import java.awt.Rectangle;

class Prostokat extends Rectangle

{

Prostokat(int a,int b)

{

super(a,b);

}

void info()

{

System.out.println(this);

}

}

public class Program

{

public static void main(String[] args)

{

Prostokat a=new Prostokat(3,4);

a.info();

Prostokat b=new Prostokat(2,2);

b.info();

if(a.intersects(b))

{

System.out.println("-- przecinaja sie --\n");

}

else

{

System.out.println("-- NIE przecinaja sie --\n");

}

a.translate(5,3);

a.info();

if(a.intersects(b))

{

System.out.println("-- przecinaja sie --\n");

}

else

{

System.out.println("-- NIE przecinaja sie --\n");

}

}

}

0x01 graphic

 

ćw. 1.7

Przeanalizuj zawartość metody main() klasy Program. Zidentyfikuj miejsca w których utworzone zostały obiekty typu Prostokat oraz miejsca w których znajdują się wywołania metod na rzecz tych obiektów. Które z tych metod zostały zaimplementowane w klasie Prostokat, a które są odziedziczone po klasie java.awt.Rectangle? W oparciu o informacje zawarte w dokumentacji klasy java.awt.Rectangle odpowiedz na pytanie do czego służy każda z tych metod i w jakim celu została wykorzystana w powyższym przykładzie.

 

ćw. 1.8

Odpowiedz na pytanie czy konstruktory nadklasy są dziedziczone, a także co oznacza super() w wywołaniu konstruktora podklasy. W oparciu o informacje zawarte w dokumentacji klasy java.awt.Rectangle zaimplementuj konstruktor Prostokat(Point wierzcholek,int dlugosc,int szerokosc), gdzie wierzcholek będzie obiektem klasy java.awt.Point. Skompiluj i przetestuj przykład.

 

ćw. 1.9

W oparciu o informacje zawarte w dokumentacji klasy java.awt.Rectangle zaimplementuj w klasie Prostokat metodę sprawdzającą czy dany prostokąt przylega do innego prostokąta. Skompiluj i przetestuj przykład.

 

0x01 graphic

Z. Dendzik 2009, Programowanie dla platformy Java, sem. I, godz. 4-5.



Wyszukiwarka

Podobne podstrony:
wykład 1 i2
i2 lab13
I2 Elastyczny system wymiany chwytaków
i2 lab9
lwtm I2
pytanie i2
Pobrane 1 i2
pietraĹ› punkt 1 i2
2 4 i2 instrukt
i2 lab5
i2 lab1
i2 lab7
socjologia-wykład 1 i2, notatki
PR FINANSOWE WYKŁĄD 1 I2, Finanse
i2 lab11
i2 lab10
System operacyjny UNIX dla poczatkujacych i zaawansowanych, rozdzial1 i2
i2 lab7
I2, Elektrotechnika AGH, Semestr I zimowy 2012-2013, Podstawy Informatyki Ćwiczenia

więcej podobnych podstron