Advertisement
MegastoRM

Untitled

Mar 7th, 2016
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.03 KB | None | 0 0
  1. klasa
  2. - osnovna jedinica programiranja na jeziku Java
  3.  
  4. klase sadrze:
  5. polja (atribute, podatke cinioce)
  6. metode (operacije, funkcije)
  7. mehanizmi za stvaranje objekata (konstruktore)
  8. inicijalizovane blokove
  9. ugnezdjene tipove
  10.  
  11. polja
  12. struktura podataka objekta
  13. definisu stanje objekta
  14.  
  15. metode
  16. sadrze izvrsni kod (na njima je fokus obrade)
  17. definisu ponasanje objekta
  18.  
  19.  
  20. Ugovor i implementacija
  21.  
  22. OOP striktno razdvaja pojmove:
  23. Sta se radi?
  24. kako se radi?
  25.  
  26. "Sta" je definisano ugovorom - skupom;
  27. potpisa javnih metoda
  28. ukljucuje ime metoda, broj i tipove argumenata
  29. pridruzenom semantikom
  30.  
  31. "Kako" je opisano odredjenom implementacijom - skupom:
  32. definicija metoda
  33. podataka koji nisu javni
  34.  
  35. javni podaci su i deo implementacije ali i ugovora
  36. - sto svakako treba izbegavati
  37.  
  38. primeri klasa
  39.  
  40. class NT {
  41. private static long sledID = 0;
  42. private long id = sledID++;
  43. private String ime = "nepoznato";
  44. private NebeskoTelo kruziOko;
  45. public long citajID() { return id; }
  46. public NT(String ime) { this.ime = ime; }
  47. public NT(String ime, NT centar) {
  48. this.ime = ime;
  49. kruziOko = centar;
  50. }
  51. }
  52.  
  53. public String toString() {
  54. String opis = id + " (" + ime + ")";
  55. if(kruziOko != null) opis += " centar rotacije: " + kruziOko;
  56. return opis;
  57. }
  58.  
  59. System.out.println("Telo: " + sunce);
  60. System.out.println("Telo: " + zemlja);
  61. System.out.println("Telo: " + mesec);
  62.  
  63. Telo: 0 (Sunce)
  64. Telo: 1 (Zemlja) centar rotacije: 0 (Sunce)
  65. Telo: 2 (Mesec) centar rotacije: 1 (Zemlja) centar rotacije: 0 (Sunce)
  66.  
  67.  
  68.  
  69. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  70. . .▓▓▓▓▓▓▓▓▓. .▓▓▓▓▓▓▓▓▓▓▓. .▓▓▓. . . . .▓▓▓. .▓▓▓▓▓▓▓▓▓▓▓. .
  71. . .▓▓▓. . . . .▓▓▓. . .▓▓▓. .▓▓▓▓▓. . . .▓▓▓. .▓▓▓. . . . . .
  72. . .▓▓▓. . . . .▓▓▓. . .▓▓▓. .▓▓▓.▓▓▓. . .▓▓▓. .▓▓▓. . . . . .
  73. . .▓▓▓▓▓▓▓▓▓. .▓▓▓. . .▓▓▓. .▓▓▓. .▓▓▓. .▓▓▓. .▓▓▓▓▓▓▓▓▓▓▓. .
  74. . . . . .▓▓▓. .▓▓▓. . .▓▓▓. .▓▓▓. . .▓▓▓.▓▓▓. .▓▓▓. . . . . .
  75. . . . . .▓▓▓. .▓▓▓. . .▓▓▓. .▓▓▓. . . .▓▓▓▓▓. .▓▓▓. . . . . .
  76. . .▓▓▓▓▓▓▓▓▓. .▓▓▓▓▓▓▓▓▓▓▓. .▓▓▓. . . . .▓▓▓. .▓▓▓▓▓▓▓▓▓▓▓. .
  77. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  78.  
  79. Polje
  80. struktura > klasa > objekat > polja i metode
  81.  
  82. primeri: id, ime, kruziOko, sledeciID ...
  83.  
  84. dve vrste:
  85. nestaticka (jedno po objektu) (id, ime, kruziOko)
  86. staticka (jedno po klasi) (sledeciID)
  87.  
  88. svaki objekat ima svoju vlastitu kopiju nestatickog polja
  89. svi objekti dele jednu kopiju statickog
  90. staticka se nazivaju i "promenljive klase"
  91. staticka polja se inicijalizuju cim se klasa ucita u memoriju
  92. nestaticka polja se inicijalizuju kad se stvori objekat
  93.  
  94.  
  95. method overlapping - preklapanje
  96.  
  97. public NebeskoTelo orbitira() { return kruziOko; }
  98. public void orbitira(NebeskoTelo centar) { kruziOko = centar; }
  99.  
  100. class Ime {
  101. String s
  102. Ime() { s = "bezimeni"; } // isto sto i this.s = "bezimeni";
  103. }
  104.  
  105. inciijalizacija objekta
  106. public String ime = "nepoznato";
  107.  
  108. ako se ne da vrednost, bice "nula";
  109. 0, +0.0f, +0.0, \u0000, false ili null
  110.  
  111. za jednostavnu inicijalizaciju bez argumenata koriste se inicijalizacioni blokovi
  112.  
  113. konstruktori - operacije za inicijalizaciju objekata
  114. - isto ime kao klasa, nula ili vise parametara (kao metode), nemaju povratnu vrednost(za razliku od metoda)
  115. izvrsavaju se nakon sto se :
  116. poljima pridruze podrazumevane vrednosti, izvrse eksplicitni inicijalizatori, izvrse inicijalizacioni blokovi
  117. specificni konstruktori(no arg) za podrazumevanu inicijalizaciju
  118. automatski ugradjen konstruktor(bez arg, ne radi nista - prazno telo)
  119. obezbedjen je samo ako ne postoji drugi konstruktor, public ako je klasa javna, private ako nije javna
  120. sa ogranicenim pravom pristupa (ogranicavaju ko moze da kreira objekte(privatni, paketski i zasticeni)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement