Obiekty i klasy(2), Programowanie


Temat:
Obiekty i klasy w Java. Klasa jako typ danych

Wykonał

Data

Klasa/nr

Bijak Dariusz

06.01.2010

4i/1

Zadanie1

Podaj określenie programowania obiektowego, obiektu, klasy (str. 210).

Zadanie 2

Przeanalizuj kody przykładowe.

0x01 graphic

class Punkt3D {

int x;

int y;

int z;

}

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

0x01 graphic

class Main {

public static void main (String args[]) {

Punkt3D punkt = new Punkt3D();

punkt.x = 100;

punkt.y = 100;

punkt.z = 100;

System.out.println("punkt.x = " + punkt.x);

System.out.println("punkt.y = " + punkt.y);

System.out.println("punkt.z = " + punkt.z);

}

}

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

0x01 graphic

class Punkt3D{

int x;

int y;

int z;

void wyswietlWspolrzedne() {

System.out.println("wsp˘ˆrzedna x = " + x);

System.out.println("wsp˘ˆrzedna y = " + y);

System.out.println("wsp˘ˆrzedna z = " + z);

}

}

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

0x01 graphic

class Main {

public static void main (String args[]) {

Punkt3D punkt = new Punkt3D();

punkt.x = 100;

punkt.y = 100;

punkt.z = 100;

punkt.wyswietlWspolrzedne();

}

}

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

0x01 graphic

class Punkt3D{

int x;

int y;

int z;

int pobierzX() {

return x;

}

int pobierzY() {

return y;

}

int pobierzZ() {

return z;

}

void wyswietlWspolrzedne() {

System.out.println("wsp˘ˆrzedna x = " + x);

System.out.println("wsp˘ˆrzedna y = " + y);

System.out.println("wsp˘ˆrzedna z = " + z);

}

}

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

0x01 graphic

class Main {

public static void main (String args[]) {

Punkt3D punkt = new Punkt3D();

punkt.x = 77;

punkt.y = 100;

punkt.z = 100;

System.out.println("wspolrzedna x = " + punkt.pobierzX());

System.out.println("wspolrzedna y = " + punkt.pobierzY());

System.out.println("wspolrzedna z = " + punkt.pobierzZ());

}

}

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

Zadanie 3

Wykonaj poniższe ćwiczenia. Kody wklej do sprawozdania.

Ćwiczenie 1

Napisz przykładową klasę Liczba Całkowita, która będzie przechowywała wartość całkowitą. Klasa ta powinna zawierać metodę wyswietlLiczbe, która będzie wyświetlała na ekranie przechowywaną wartość, oraz metodę pobierzLiczbe zwracającą przechowywaną wartość.

class LiczbaCalkowita {

int liczba;

void wyswietlLiczbe() {

System.out.println(liczba);

}

int pobierzLiczbe() {

return liczba;

}

}

___________________________________________________________________

Ćwiczenie 2

Napisz kod przykładowej klasy Prostokat zawierającej cztery pola

przechowujące współrzędne czterech rogów prostokąta.

Wykorzystaj obiekty klasy Punkt.

class Prostakat {

Punkt lewyGorny;

Punkt lewyDolny;

Punkt prawyGorny;

Punkt prawyDolny;

}

_______________________________________________________________

Ćwiczenie 3

Do utworzonej w ćwiczeniu 2 klasy Prostokat dopisz metody

zwracające współrzędne wszystkich czterech punktów oraz

metodę wyświetlającą wartość współrzędnych.

class Prostokat {

Punkt lewyGorny = new Punkt();

Punkt lewyDolny = new Punkt();

Punkt prawyGorny = new Punkt();

Punkt prawyDolny = new Punkt();

int pobierzLewyGornyX() {

return lewyGorny.x;}

int pobierzLewyGornyY() {

return lewyGorny.y;}

int pobierzLewyDolnyX() {

return lewyDolny.x;}

int pobierzLewyDolnyY() {

return lewyDolny.y;}

int pobierzPrawyGornyX() {

return prawyGorny.x;}

int pobierzPrawyGornyY() {

return prawyGorny.y;}

int pobierzPrawyDolnyX() {

return prawyDolny.x;}

int pobierzPrawyDolnyY() {

return prawyDolny.y;}

void wyswietlWspolrzedne() {

System.out.println("Lewy górny x: " + pobierzLewyGorny());

System.out.println("Lewy górny y: " + pobierzLewyGorny());

System.out.println("Lewy dolny x: " + pobierzLewyDolny());

System.out.println("Lewy dolny y: " + pobierzLewyDolny());

System.out.println("Prawy górny x: " + pobierzPrawyGorny());

System.out.println("Prawy górny y: " + pobierzPrawyGorny());

System.out.println("Prawy dolny x: " + pobierzPrawyDolny());

System.out.println("Prawy dolny y: " + pobierzPrawyDolny());

____________________________________________________________

Ćwiczenie 4

Napisz przykładową klasę Main testującą zachowanie klas

LiczbaCalkowita oraz Prostokat.

class Main {

public static void main (String args[]) {

LiczbaCalkowita liczba = new LiczbaCalkowita();

liczba.liczba = 100;

System.out.println(liczba.pobierzLiczbe());

Prostokat prostokat = new Prostokat();

prostokat.lewyGorny.x = 100;

prostokat.lewyGorny.y = 100;

prostokat.prawyGorny.x = 200;

prostokat.prawyGorny.y = 100;

prostokat.lewyDolny.x = 100;

prostokat.lewyDolny.y = 150;

prostokat.prawyDolny.x = 200;

prostokat.prawyDolny.y = 150;

prostokat.wyswietlWspolrzedne();

}

}

___________________________________________________________

Ćwiczenie 5

Napisz klasę Prostokat przechowującą jedynie współrzędne

lewego górnego i prawego dolnego rogu (wystarczają one do

jednoznacznego wyznaczenia prostokąta na płaszczyźnie).

Dodaj metody podające współrzędne każdego rogu.

class Prostokat {

Punkt lewyGorny = new Punkt();

Punkt prawyDolny = new Punkt();

int pobierzLewyGornyX() {

return lewyGorny.x;}

int pobierzLewyGornyY() {

return lewyGorny.y;}

int pobierzLewyDolnyX() {

return lewyDolny.x;}

int pobierzLewyDolnyY() {

return lewyDolny.y;}

int pobierzPrawyGornyX() {

return prawyGorny.x;}

int pobierzPrawyGornyY() {

return prawyGorny.y;}

int pobierzPrawyDolnyX() {

return prawyDolny.x;}

int pobierzPrawyDolnyY() {

return prawyDolny.y;}

void wyswietlWspolrzedne() {

System.out.println("Lewy górny x: " + pobierzLewyGorny());

System.out.println("Lewy górny y: " + pobierzLewyGorny());

System.out.println("Lewy dolny x: " + pobierzLewyDolny());

System.out.println("Lewy dolny y: " + pobierzLewyDolny());

System.out.println("Prawy górny x: " + pobierzPrawyGorny());

System.out.println("Prawy górny y: " + pobierzPrawyGorny());

System.out.println("Prawy dolny x: " + pobierzPrawyDolny());

System.out.println("Prawy dolny y: " + pobierzPrawyDolny());

____________________________________________________________

Ćwiczenie 6

Do klasy Prostokat z ćwiczenia 2 i 3 dopisz metodę

sprawdzającą, czy wprowadzone współrzędne faktycznie

definiują prostokąt (cztery punkty na płaszczyźnie dają dowolny

czworokąt, który nie musi mieć kształtów prostokąta.

class Prostokat {

Punkt lewyGorny = new Punkt();

Punkt lewyDolny = new Punkt();

Punkt prawyGorny = new Punkt();

Punkt prawyDolny = new Punkt();

int pobierzLewyGornyX() {

return lewyGorny.x;}

int pobierzLewyGornyY() {

return lewyGorny.y;}

int pobierzLewyDolnyX() {

return lewyDolny.x;}

int pobierzLewyDolnyY() {

return lewyDolny.y;}

int pobierzPrawyGornyX() {

return prawyGorny.x;}

int pobierzPrawyGornyY() {

return prawyGorny.y;}

int pobierzPrawyDolnyX() {

return prawyDolny.x;}

int pobierzPrawyDolnyY() {

return prawyDolny.y;}

void wyswietlWspolrzedne() {

System.out.println("Lewy górny x: " + pobierzLewyGornyX());

System.out.println("Lewy górny y: " + pobierzLewyGornyY());

System.out.println("Lewy dolny x: " + pobierzLewyDolnyX());

System.out.println("Lewy dolny y: " + pobierzLewyDolnyY());

System.out.println("Prawy górny x: " + pobierzPrawyGornyX());

System.out.println("Prawy górny y: " + pobierzPrawyGornyY());

System.out.println("Prawy dolny x: " + pobierzPrawyDolnyX());

System.out.println("Prawy dolny y: " + pobierzPrawyDolnyY());

}

boolean czyProst() {

if (pobierzLewyGornyX() ! = pobierzLewyDolnyX() ) ||

(pobierzPrawyGornyX() ! = pobierzPrawyDolnyX() ) ||

(pobierzLewyGornyY() ! = pobierzPrawyGornyY() ) ||

(pobierzLewyDolnyY() ! = pobierzPrwayDolnyY() ) ) {

return false;

}

else return true;

}

}

}

Zadanie 4

W prezentowanych przykładach poszczególne klasy były zapisywane w oddzielnych plikach. Klasa Main pełniła rolę klasy głównej. Nie musimy również kompilować klas oddzielnie. Ponieważ w klasie Main jest wykorzystywana klasa Punkt, wydanie polecenia Javac Main.java powodowało kompilacje obu plików. Warunkiem jednak jest, aby były one zapisane w tym samym katalogu.

W przykładach w podręczniku przyjęto zapis klas w jednym pliku, jak na przykład w listingu 3.10. str. 213. Przetestuj rozdzielenie klas do oddzielnych plików na tym przykładzie. Kody plików wklej do sprawozdania.

0x01 graphic

Programowanie strukturalne i obiektowe
Język Java Strona 10



Wyszukiwarka