19  Pola, metody, klasy finalne

  1. Wykonaj kolejno czynności:

    A. Stwórz klasę Planet z jednym polem finalnym name. Spróbuj zmienić wartość pola name po jego inicjalizacji. Przeanalizuj wynik.

    B. Dodaj do klasy Planet metodę changeName, która próbuje zmienić nazwę planety. Jaki jest wynik próby zmiany finalnego pola za pomocą metody?

  2. Stwórz klasę Car z dwoma polami: brand (normalne pole) i VIN (pole finalne - Numer Identyfikacyjny Pojazdu). Stwórz kilka obiektów Car i spróbuj zmienić pole VIN dla każdego z nich. Przeanalizuj wynik.

  3. Stwórz klasę Athlete z jednym polem finalnym name oraz polem points. Stwórz tablicę zawodników i spróbuj zmienić pole name dla jednego z zawodników. Przeanalizuj wynik.

  4. Stwórz klasę Person z jednym polem finalnym PESEL. Następnie stwórz klasę Student, która dziedziczy po klasie Person. Czy możesz zmienić pole PESEL w klasie Student? Co się stanie, jeśli spróbujesz to zrobić? Przeanalizuj wyniki.

  5. Stwórz klasę bazową Electronics z metodą finalną turnOn, która wypisuje “Urządzenie włączone”. Następnie stwórz klasę potomną Television i spróbuj przesłonić metodę turnOn. Zaobserwuj, co się dzieje.

  6. Stwórz klasę Computer z metodą finalną boot oraz zwykłą metodą launchApplication. W klasie potomnej Laptop, spróbuj przesłonić obie metody. Sprawdź, która z metod pozwoli się przesłonić, a której nie.

  7. Utwórz finalną klasę ImmutableData z pewnymi atrybutami i metodami. Następnie spróbuj stworzyć klasę potomną VariableData, która dziedziczy po klasie ImmutableData. Zastanów się, dlaczego nie można dziedziczyć po klasie oznaczonej jako final.

  8. Stwórz klasę Game, która w swoim konstruktorze ma metodę finalną initialize (inicializującą pewne dane). Utwórz klasę potomną RPG, która próbuje dostosować konstruktor klasy bazowej. Upewnij się, że metoda initialize działa poprawnie, mimo że jest oznaczona jako final.

  9. Utwórz klasę MathConstant z finalnym polem PI, które jest inicjowane wartością 3.14159. W klasie potomnej PhysicalConstant, spróbuj stworzyć metodę, która próbuje zmienić wartość PI. Zastanów się, dlaczego wartość finalnego pola nie może zostać zmieniona po jego inicjalizacji.

  10. Wykonaj poniższe czynności:

  1. Wykonaj poniższe czynności:
  1. Wykonaj poniższe czynności: