I8#1 grA, Studia, WAT Informatyka, JTP - java


*1*PODAJ 2 TYPY WIĄZANIA PARAMETROW METODY. W JAKI SPOSOB WIAZANE PARAMETRY W JAVIE? ;

[wykład1]W Javie atrybuty są wiązane statycznie, a metody dynamicznie zależnie od typu aktualnego parametru.

[wykład2-43] parametry można wiązać przy pomocy konstruktorów. Przykład poprawnego użycia:

public class MyVector <S extends Comparable<?>> extends Vector<S>

gdzie <?> to: "użycie białej karty"

**qBa: Parametry mogę być przekazywane przez referencję lub wartość. W Javie przez referencję są przekazywane obiekty, typy prymitywne są przekazywane przez wartość.

***T: Obiekty nie są przekazywane nigdy. Przekazywane są referencje do nich, które są wartościami. Więc - w javie wszystko przekazywane jest jako wartość.

jeśli pomyślisz o obiektach, jako o balonikach, a o wartościach (i referencjach) jako sznureczkach, to wtedy stanie się jasne, że możesz gdzieś przekazać sznureczek (względnie kopię sznureczka), a nie sam balonik. Poza tym balonik może mieć dużo sznureczków.

*2*CO BEDZIE WYNIKIEM WYKONANIA METODY main Z KLASY B? UZASADNIJ

public class A {

publib int a = 0;

public void m() {

System.out.println("this.a =" + a);

}

}

public class B extends A{

public int a = 1;

public void m() {

a++;

System.out.println("this.a =" + a);

}

public static void main(String[] args){

A x = new B();

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

x.m();

}

} ;

!Wypisane będzie

x.a = 0

this.a = 2

Ponieważ x jest typu A to odwołując się do x.a kompilator odwołuje się do nadklasy - atrybuty są wiązane statycznie.

x.m() odwołuje się do metody, a metody są wiązane dynamicznie.

*3* Rozważ następujące klasy. wyjaśnj, które z metod pubSt(), pubOb, priOb(), priSta() mogą być wywołąne w miejscu trzech kropek w punktach (a) i (b)

public class A {

public static int pubSt() { return 1;};

public int pubOb() {return 1;}

private int priOb() {return 1;}

private int priSta() {return 1;}


public int m1 () {

return ... // punkt (a)

}

}

public class B extends A {

public int m1 () {

return ... // punkt (b)

}

}

a) Mogą być wszystkie.
b) Mogę być tylko publiczne i protected, czyli tylko pierwsza i druga.

*4* ZAIMPLEMENTUJ KLASY PERSON I FAMILY, KTÓRE ODPOWIADAJĄ ODPOWIEDNIO OSOBIE ORAZ RODZINIE. PIERWSZA KLASA MA ZAWIERAĆ ATRYBUTY ODPOWIADAJĄCE IMIENIU I NAZWISKU ORAZ PŁCI. KLASA FAMILY MA ZAWIERAC ATRYBUT ODPOWIADAJĄCY MĘŻOWI I ATR ODPOW ŻONIE ORAZ ATR ODP POSIADANYM DZIECIOM. KLASA FAMILY MA ZAWIERAC ROWNIEZ KONSTRUKTOR Z ODPOWIEDNIMI PARAMETRAMI POZWALAJACY DLA 2 OSOB UTWORZYC OBIEKT TYPU RODZINA, JESLI OSOBY TE SA ROZNEJ PŁCI. JEŚLI NIE, TO KONSTRUKTOR MA RZUCAĆ ODPOWIEDNI WYJĄTEK ;

public class Person{

public String imie;

public String nazwisko;

public int plec; //0 - mezczyzna, 1 - kobieta

Person(){}

}

public class Family{

public Person maz;

public Person zona;

public Vector<Person> dzieci;

Family(Person a, Person b) throws IllegalArgumentException{

if(a.plec==b.plec)

throw new IllegalArgumentException();

if(a.plec>0){

Person c = a;

Person a = b;

Person b = c;

}

maz = a;

zona = b;

dzieci = new Vector<Person>();

}

}



Wyszukiwarka

Podobne podstrony:
I8#1 grB, Studia, WAT Informatyka, JTP - java
I7#1 grA, Studia, WAT Informatyka, JTP - java
I7#1 grB, Studia, WAT Informatyka, JTP - java
I7#2, Studia, WAT Informatyka, JTP - java
MTSI-zadanie, Studia, WAT Informatyka, WmS - metodyka
SPR-ANKI, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab2
Zadanie IY4S1, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
sprawozdanie3, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab4
sprawozdanie oswietlenie, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab3
majne sciaga teory do druku, Studia, WAT Informatyka, s2 - Peie - podstawy elektroniki i elektrotech
Rzezba Lab4, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB4
GK LAB3, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB4
KWADRYKI, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab2
OpenGl, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab4
Zad1, Studia, WAT Informatyka 2, semestr III, Statystyka matematyczna
Sprawozdanie BPiE, Studia, WAT Informatyka, s4 - Bpie - bezpieczeństwo pracy i ergonomia
Swb-sciaga, Studia, WAT Informatyka, s4 - Swb - systemy wbudowane
Zadania L3 I6X4S1, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab4
Zadania L3 I6Y3S1, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab3

więcej podobnych podstron