Exerciții de programare în fișa Java 4

Masa restaurantului de clasa: moștenește din tabel și oferă, de asemenea, următoarele funcționalități:

exerciții

  • o metodă spectacol public nul () pentru a genera ocuparea tabelului curent;
  • o metodă public int free (), care indică câte locuri mai sunt libere la masă;
  • o metodă loc gol public, așează oaspeții la o masă (îi așează pe locurile libere și îi marchează ca ocupați);
  • o metodă boolean public gratuit, care resetează ocuparea locurilor la plecarea oaspeților;
  • o metodă public boolean gol (), care indică dacă un tabel este încă complet neocupat.

Restaurant de clasă: cu un nume (restaurant) și un număr definit de mese (maximum MaxTisch multe, astfel încât să poată fi stocate într-o matrice statică.
Clasa de restaurant oferă următoarele funcționalități:

  • o metodă public void add (), care adaugă o masă de restaurant;
  • o metodă spectacol public nul (), care generează ocuparea curentă pentru toate tabelele;
  • o metodă gol public venit (oaspeții g), care încearcă să așeze oaspeții la o masă adecvată în conformitate cu condițiile de mai sus;
  • o metodă anulați public (oaspeții g), care eliberează din nou masa când oaspeții pleacă.

Oaspeții clasei: cu numele (grupului) invitaților și dimensiunea grupului (numărul de persoane).
Sunt oferite următoarele funcționalități:

  • o metodă spectacol public nul (), scoate informații despre grup (adică numele (grupul) și numărul de persoane);
  • o metodă număr de public (), care oferă dimensiunea grupului.

  • Tipograf de clasă: cu un restaurant a cărui ocupare a locului urmează să fie controlată. Controlul pentru plasarea oaspeților are loc central aici, prin care sunt utilizate funcționalitățile din clasa restaurant.
    Funcționalitățile oferite gol public venit (oaspeții g), anulați public (invitați g) și ocuparea spectacolului public nul () accesați funcționalitățile corespunzătoare din Restaurant de clasă: la.
  • Implementările claselor Java individuale urmează acum:

    Implementarea metodei de plasare în soluția noastră propusă este în clasa restaurant, ceea ce este avantajos din punct de vedere al programării (acces direct la matricea de mese). Clasa setter preia nivelul de control de top numai apelând metodele adecvate de la restaurant.

    Această soluție trebuie văzută ca o soluție posibilă și nu obligatorie. O altă soluție este, de exemplu, de a vizualiza întregul proces de plasare ca o sarcină a clasei de tipograf și astfel să-l implementați și acolo.

    Prin urmare, vorbim în mod conștient despre soluțiile propuse și nu despre soluțiile eșantion.