Java i podejście obiektowe
 

Zadanie 20 (1p)

Scharakteryzować (na papierze) klasę obiektów reprezentujących osoby (atrybuty-cechy, komunikaty).

Zadanie 21 (1p)

Scharakteryzować (na papierze) klasę obiektów reprezentujących studentów. Czy widzisz zależność między tą klasą, a klasą z zadania 20?

Zadanie 22 (2p)

Scharakteryzować (na papierze) klasy obiektów reprezentujących na płaszczyźnie:

    1. prostokąty
    2. okręgi
    3. trójkąty

Czy możemy zdefiniować bardziej ogólne klasy?

Zadanie 23 (2p)

Jakie wartości wypisze na konsolę następujący fragment programu. Odpowiedzieć bez pisania programu.

        String s1 = "a";
        String s2  ="b";
        String s3 = "ab";

        System.out.println(s1+s2);
        System.out.println(s3);
        System.out.println(s3==s1+s2);
        System.out.println(s3.equals(s1+s2));
        System.out.println(s3=="a"+"b");

        s1="1";

        System.out.println(s1+2+3);
        System.out.println((s1+2)+3);
        System.out.println(s1+(2+3));
        System.out.println(s1+(2/3));
        System.out.println(s1+2/3);

Sprawdzić swoją odpowiedź pisząc program, który pokazuje wyniki operacji.
 

Zadanie 24 (4p)

Dane są 2 klasy: Point (reprezentuje punkty na płaszczyźnie) oraz Circle (reprezentuje koła na płaszczyźnie). Dostępne są następujące metody (komunikaty-usługi):

Klasa Point:
    1.    int getX(): zwraca współrzędną x
    2.    int getY(): zwraca współrzędną y
    3.    void setX(int a): ustawia wartość współrz. x
    4.    void setY(int b): ustawia wartość współrz. y
    5.    void show(): wyprowadza informację o punkcie
    6.    double distance(Point p): zwraca odległość między naszym punktem a punktem  p

Obiekty tej klasy tworzy się następująco:

Point p = new  Point(x, y);     //    x  i  y  są współrzędnymi całkowitymi punktu  p

Klasa Circle:
    1.     Point getCenter(): zwraca środek koła
    2.     int getRadius(): zwraca promień koła
    3.     void setCenter(Point c): ustawia środek koła
    4.     void setRadius(int r): ustawia promień koła
    5.     void show(): wyprowadza informację o kole
    6.     boolean inside(Point p): sprawdza, czy punkt p leży wewnątrz naszego koła
    7.     boolean isBigger(Circle c): sprawdza, czy nasze koło jest większe niż koło c
    8.     double area(): zwraca pole koła

Obiekty tej klasy tworzy się następująco:

Point p = new Point(x,y);       //     x  i  y  są współrzędnymi całkowitymi punktu  p
Circle c = new Circle(p, r);    //   koło c ma środek w punkcie p i promień całkowity r

Korzystając z dostarczonych definicji klas Point, Circle  napisać program, który tworzy obiekty tych klas i testuje działania WSZYSTKICH metod.  Dane wejściowe (współrzędne, promienie) podać w oknach dialogowych.

Uwaga: W środowisku Eclipse, archiwum zawierające klasy Point.class i Circle.class należy umieścić w bibliotece dołączonej do projektu.

Zadanie 25 (2p)

Zdefiniować (i przetestować w głównej funkcji main) metodę:

boolean intersection(Circle c1, Circle c2)

która otrzymuje jako
argumenty dwa koła typu Circle (z zadania 24) oraz zwraca jako wynik: true jeśi podane koła przecinają się, false w przeciwnym przypadku.