Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //var-kompilator tworzy getter i setter
- //val-tylko setter
- //1.a
- class Time(private [this] var h: Int) { //private[this] pole dostępne tylko z obiektu
- if (h < 0) h = 0
- def hour : Int = h //dereferencja zmiana refeerencji na wartość przechowywaną wewnątrz obiektu
- def hour_=(x:Int){ //przypisanie
- if(x>0) h=x else h=0
- }
- }
- //1.b
- object Time { // ten sam plik, ta sama nazwa, te same metody statyczne
- //mozna się z niego odwoływać do składowych prywatnych
- def apply(hour: Int) = new Time(hour)
- }
- val g = Time(6)
- g.hour=7
- //3
- class Pojazd(val producent: String, val model: String, val rokProdukcji: Int = -1, var nrRejestracji: String = "")
- var p1 = new Pojazd("vw", "golf 1")
- var p2 = new Pojazd("vw", "golf 1", 1990)
- var p3 = new Pojazd("vw", "golf 1", 1990, "HFP")
- var p4 = new Pojazd("vw", "golf 1", registrationNumber = "HFP")
- //* klasy w scali:
- //pola zawsze prywatne
- //dostęp możliwy za pomocą automatycznie generowanych akcesorów
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement