Sprawozdanie z laboratorium z Javy
Kamil Roman AiR gr. 14
I.
Jakie są poziomy dostępu do pól i metod stosowane w języku Java i co oznaczają?
Dzięki modyfikatorom , możemy określić dostęp do danej metody lub pola, wyróżniamy
poszczególne modfikatory:
1. public – dostęp do pól i metod mają wszystkie klasy i można korzystać w każdym
fragmencie kodu .
2. protected – dostęp do tych pól mają jedynie klasy z danego pakietu i klasy
dziedziczące po nich
3. „default” – pozwala na dostęp do danego elementu tylko klasom z danego pakietu (nie
istnieje słowo w Javie określające ten rodzaj dostępu, jeżeli chcemy go użyć to po
prostu nie podajemy żadnego modyfikatora)
4. private – dostęp do pól i metod ma jedynie klasa w której się znajdują(metody lub
pola)
II.
W jakim celu tworzone są akcesory i z jakim poziomem dostępu się wiążą?
Akcesory są to metody pozwalające na pobranie zmiennej i wykorzystanie jej wartości lub jej
zmine w kodzie programu. Wiążą się z modyfikatorem public.
III.
Do czego służą konstruktory? Podaj ogólne postaci różnych rodzajów konstruktorów.
Konstruktory służą do inicjalizacji(możliwości użycia) obiektu, dzięki nim możemy
przetworzyć dane do naszych potrzeb. Konstruktorów może być kilka, niektóre mogą
przyjmować konkretne parametry, a inne można wywołać bez parametrów. Nazwa
konstruktora jest taka sama jak nazwa klasy. Konstruktory nie zwracają wartości
Konstruktory mają postać:
{modyfikator dostępu} {nazwa klasy}
(
{lista argumentów}
){
{instrukcje do wykonania}
}
IV.
Do czego służą metody? Podaj ogólne postaci różnych rodzajów metod.
Metoda jest do odpowiednik funkcji dla Javy w stosunku do języka C czy C++. Wywołując
metodę przekazujemy argumenty, tj. dane na których ta metoda operuje. Efektem wywołania
metody jest pewna wartość o której mówimy, że jest to wartość zwracana przez tą metodę.
(Dzięki metodom możemy policzyć deltę).
Ogólna postać wygląda tak:
{typ zwracanej wartości} {nazwa metody} ( {lista argumentów} ) {
{ instrukcje do wykonania }
}
Postać ogólna jest bardzo podobna do konstruktora. Różnicą jest to,że w konstruktorze na początku
jest modyfikator dostępu, a w metodzie typ zwracanej wartości.
Źródła:
1. http://javastart.pl/programowanie-obiektowe/klasy-i-metody/
2. http://blog.stelmisoft.pl/2010/modyfikator-dostepu-protected-i-default-javie/
3. http://eff10.internetdsl.tpnet.pl/programowanie/brzozowski/java/metody.htm
Klasa punktmaterialny
public
class
punktmaterialny {
//prywatne pole masy:
private
double
masa
;
private
double
r
;
//r=odlegośc pktod osi ukł. wsp.
//akcesor określający czy masa jest dodatania:
public
void
setmasa(
double
masa){
if
(masa<=0)
this
.
masa
= 1;
else
this
.
masa
= masa;
}
public
void
setr(
double
r){
if
(
masa
<=0)
this
.
r
= 1;
else
this
.
r
= r;
}
//akcesor dający dostęp do naszej masy:
double
getmasa(){
return
masa
;
}
double
getr(){
return
r
;
}
//konstruktor nadający stała masę 12 i odległośc 3:
punktmaterialny(){
masa
=12;
r
=3;
}
//konstruktor parametermi "masa" i promien"r":
punktmaterialny(
double
masa,
double
r){
setmasa(masa);
setr(r);
}
//metoda bez parametru licząca moment bezwładności w odległości r od środka
ukł. wsp.:
public
double
moment() {
double
j=
masa
*
r
*
r
;
return
j;
}
//metoda z parametrem(d) licząca moment bezwładnościz tw. Steinera
public
double
momentst(
double
d){
//d=odległosć między osiami
return
moment() +
masa
*d*d;
}
// metoda zwracająca stały opis pkt. materialnego
public
String toString()
{
return
"Punkt materialany: "
;
}
}
Klasa test
public
class
test {
public
static
void
main(String[] args) {
//
TODO
Auto-generated method stub
System.
out
.println(
"Test:"
);
// nowy obiekt powstały wyniku użycia konstruktora domyślnego
punktmaterialny p1 =
new
punktmaterialny();
// nowy obiekt powstały wyniku użycia konstruktora z parametrami
masa5 promien 6
punktmaterialny p2 =
new
punktmaterialny(5, 6);
//opis obiektu bez paramtrow
System.
out
.println(p1.toString() +
"p1 o masie="
+ p1.getmasa()
+
" oraz odległości:"
+p1.getr()
+
" od środka układu współrzędnych, momencie głownym:
"
+p1.moment()
+
" oraz momencie względem nowej osi odległej o 5
wynosi:"
+p1.momentst(5)
+
"."
);
//opis obiektu z parametrami 5 i 6
System.
out
.println(p2.toString() +
"p2 o masie="
+ p2.getmasa()
+
" oraz odległości:"
+p2.getr()
+
" od środka układu współrzędnych, momencie głownym:
"
+p2.moment()
+
" oraz momencie względem nowej osi odległej o 5
wynosi:"
+p2.momentst(5)
+
"."
);
// akcesor ustalający masę=10
p1.setmasa(10.0);
//opis obiektu o zmieninej masie
System.
out
.println(p1.toString() +
"p1 o masie="
+ p1.getmasa()
+
" oraz odległości:"
+p1.getr()
+
" od środka układu współrzędnych, momencie głownym:
"
+p1.moment()
+
" oraz momencie względem nowej osi odległej o 5
wynosi:"
+p1.momentst(5)
+
"."
);
System.
out
.println(
"\n Tablica obiktów \n"
);
//
tablica obiektó, tpm=tablica punktów materialnych
punktmaterialny tpm[]=
new
punktmaterialny[6] ;
for
(
int
i=1; i<6;i++){
tpm[i] =
new
punktmaterialny();
//zainicjowanie obiektów z
wykorzystaniem pętli (różne wartości masy!)
tpm[i].setmasa(i);
//wyświetlenie inforamcji o punktach z tablicy
System.
out
.println(i+tpm[i].toString() +
"tpm[i] o masie="
+
tpm[i].getmasa()
+
" oraz odległości:"
+tpm[i].getr()
+
" od środka układu współrzędnych, momencie głownym:
"
+tpm[i].moment()
+
" oraz momencie względem nowej osi odległej o 5
wynosi:"
+tpm[i].momentst(5)
+
"."
);
}
}
}
Wynik działania programu testowego
Test:
//tu jest wyświetlone słowo test za pomocą System.out.println("Test:");
Punkt materialany: p1 o masie=12.0 oraz odległości:3.0 od środka układu
współrzędnych, momencie głownym: 108.0 oraz momencie względem nowej osi odległej o
5 wynosi:408.0.
Punkt materialany: p2 o masie=5.0 oraz odległości:6.0 od środka układu
współrzędnych, momencie głownym: 180.0 oraz momencie względem nowej osi odległej o
5 wynosi:305.0.
Punkt materialany: p1 o masie=10.0 oraz odległości:3.0 od środka układu
współrzędnych, momencie głownym: 90.0 oraz momencie względem nowej osi odległej o
5 wynosi:340.0.
// Powyżej są wyświetlone informacje dotyczące naszych punktów: p1(bez zadanych
parametrów), p2(o zadanej masie masa=5 i promieniu r=6), i znowu p1 (o zadanej
masie=10)
Tablica obiktów
1Punkt materialany: tpm[i] o masie=1.0 oraz odległości:3.0 od środka układu
współrzędnych, momencie głownym: 9.0 oraz momencie względem nowej osi odległej o 5
wynosi:34.0.
2Punkt materialany: tpm[i] o masie=2.0 oraz odległości:3.0 od środka układu
współrzędnych, momencie głownym: 18.0 oraz momencie względem nowej osi odległej o
5 wynosi:68.0.
3Punkt materialany: tpm[i] o masie=3.0 oraz odległości:3.0 od środka układu
współrzędnych, momencie głownym: 27.0 oraz momencie względem nowej osi odległej o
5 wynosi:102.0.
4Punkt materialany: tpm[i] o masie=4.0 oraz odległości:3.0 od środka układu
współrzędnych, momencie głownym: 36.0 oraz momencie względem nowej osi odległej o
5 wynosi:136.0.
5Punkt materialany: tpm[i] o masie=5.0 oraz odległości:3.0 od środka układu
współrzędnych, momencie głownym: 45.0 oraz momencie względem nowej osi odległej o
5 wynosi:170.0.
//
powyżej jest wypisana tablica 6 punktów i różnych masach