POO Lab Lucrarea 2

De la WikiLabs
Jump to navigationJump to search
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Noțiuni și cunoștințe necesare

Cerințe

  • Să se scrie o clasă PrivateMessage, extinsă din clasa Message, ce va fi folosită ca purtătoare de date între un client de chat și un anumit destinatar, care să aibă următoarele proprietăți:
    • Să stocheze numele expeditorului, un conținut și numele destinatarului;
    • Să fie imutabilă (odată creat un obiect, conținutul acestuia să nu mai poată fi modificat);
    • Să permită extragerea din obiectele de tip PrivateMessage ale unui mesaj formatat în modul specific mesajelor private în aplicațiile de chat -- "(priv) expeditor: continut" --, folosind mecanismul de suprascriere a metodelor.
    • Să existe o metodă prin care să se poată obține destinatarul pentru orice obiect de tip PrivateMessage, numită getRecipient().
    • Constructorul să aibă ca argumente, în ordine, destinatarul, expeditorul și apoi conținutul mesajului.
  • În clasa Main deja existentă, să se instanțieze cel puțin trei obiecte de tip PrivateMessage și să afișeze stringul formatat și destinatarul pentru fiecare.

Observații:

  • Numele claselor și metodelor trebuie sa fie conform cu cele specificate mai sus.
  • Clasele trebuie să facă parte din pachetul ro.upb.etti.poo.chat_application.structs.
  • Fiecare clasă și membru trebuie să aibă unul din modificatorii de access public sau private.
  • Numele claselor trebuie sa fie conform cu cele specificate mai sus.
  • Utilizați mecanismele de moștenire și suprascriere.


Predare:

  • Codul se va preda și corecta automat pe platforma Moodle.
  • Atenție: Orice nerespectare ale indicațiilor de predare poate duce la pierderea în totalitate a punctajului.
Atenție: Temele vor fi verificate anti-plagiat cu soft-uri specializate. Orice temă copiată va fi penalizată (atât sursa cât și copia) cu 100% din punctaj, fără posibilitate de refacere.