Tema 2 – Modelarea claselor necesare pentru realizarea unei aplicații cu un scop precis

  1. În proiectul AnimalRescuer, creați clasele necesare așa încât în joc să putem opera cu conceptele: animal, adoptator, mâncare pentru animale, activitate de recreere, medic veterinar.
  2. Denumirile tuturor claselor și variabilelor ar trebui scrise în limba engleză.
  3. Pentru fiecare clasă definiți proprietățile necesare așa încât în joc să se poată opera cu conceptele:
    • animal: nume, vârstă, nivelul stării de sănătate (de exemplu, poate fi o valoare din intervalul 1 la 10 – nu trebuie să validați intervalul în niciun fel, deocamdată), nivelul senzației de foame (de exemplu, poate fi o valoare din intervalul 1 la 10), nivelul stării de spirit (de exemplu, poate fi o valoare din intervalul 1 la 10), numele mâncării preferate, numele activității de recreere preferate   
    • adoptator: nume, sumă de bani disponibilă   
    • mâncare de animale: nume, preț, cantitate, data expirării, disponibilitate în stoc   
    • activitate de recreere: nume
    • medic veterinar: nume, specializare
    • joc: adoptator, câine, medic veterinar    
      Asigurați-vă că fiecare concept este reprezentat prin câte o proprietate de tipul corespunzător.Pentru data expirării, puteți folosi obiecte de tip java.time.LocalDateTime, java.time.LocalDate sau java.util.Date.
  4. În metoda main din clasa App, creați cel puțin câte o instanță a fiecărui obiect și completați-i toate proprietățile cu valori valide.
  5. Salvați toate modificările aduse proiectului AnimalRescuer în GitHub (commit and push).
  6. Opțional: pentru fiecare dintre clasele menționate mai sus (cu excepția clasei Game), adăugați cel puțin alte 4 proprietăți de care vă imaginați că v-ați putea folosi pe viitor pentru a face aplicația mai complexă.
  7. Opțional: adăugați în proiectul AnimalRescuer cel puțin alte 4 clase de care vă imaginați că v-ați putea folosi pe viitor pentru a face aplicația mai complexă. Fiecare clasă ar trebui să aibă cel puțin două proprietăți. Atenție la diferența dintre o clasă și o instanță a clasei.
  8. Opțional: Reproduceți codul scris la curs într-un proiect numit RacingGameExperiments și adăugați câteva proprietăți noi în fiecare clasă.