Advertisement
Guest User

Untitled

a guest
Dec 8th, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.97 KB | None | 0 0
  1. //var-kompilator tworzy getter i setter
  2. //val-tylko setter
  3.  
  4. //1.a
  5. class Time(private [this] var h: Int) { //private[this] pole dostępne tylko z obiektu
  6.   if (h < 0) h = 0
  7.   def hour : Int = h //dereferencja zmiana refeerencji na wartość przechowywaną wewnątrz obiektu
  8.   def hour_=(x:Int){ //przypisanie
  9.     if(x>0) h=x else h=0
  10.   }
  11. }
  12. //1.b
  13. object Time {   // ten sam plik, ta sama nazwa, te same metody statyczne
  14.     //mozna się z niego odwoływać do składowych prywatnych
  15.   def apply(hour: Int) = new Time(hour)
  16. }
  17.  
  18. val g = Time(6)
  19. g.hour=7
  20.  
  21. //3
  22. class Pojazd(val producent: String, val model: String, val rokProdukcji: Int = -1, var nrRejestracji: String = "")
  23.  
  24. var p1 = new Pojazd("vw", "golf 1")
  25. var p2 = new Pojazd("vw", "golf 1", 1990)
  26. var p3 = new Pojazd("vw", "golf 1", 1990, "HFP")
  27. var p4 = new Pojazd("vw", "golf 1", registrationNumber = "HFP")
  28. //* klasy w scali:
  29. //pola zawsze prywatne
  30. //dostęp możliwy za pomocą automatycznie generowanych akcesorów
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement