Sunteți pe pagina 1din 4

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare Informatica si
Microelectronica Departamentul Ingineria
Software si Automatica

RAPORT
Disciplina: TMPS
Tema: Adapter Pattern

A efectuat: Guzun Ion


st. gr. TI-171

A verificat: Scrob Sergiu

Chisinau 2020
Scopul lucrarii:
Studierea domeniului de interes (tema individuală a studentului) și identificarea unei
probleme de proiectare care poate fi soluționată cu ajutorul unui șablon de proiectare din clasa
șabloanelor structurale. Implementarea soluției într-un limbaj de programare orientat pe obiecte.
Elaborarea diagramei de clase UML care corespunde cu soluția implementată, a unui șablon din
clasa structurală. Descrieți problema identificată, motivația, participanții și rolurile lor în
șablonul utilizat, de asemenea includeți rezultatele execuției programului.
Diagrama UML:

Figura 1 – Diagrama UML

Codul java:
Crearea interfetei CV:
public interface CV {
public void giveCVDetails();
public String getCV();
}

Crearea clasei DetailsCV(Adaptee):


public class CVDetails{
private String CompanyName;
private String PersonName;
private long PhoneNumber;

public String getCompanyName() {


return CompanyName;
}
public void setCompanyName(String CompanyName) {
this.CompanyName = CompanyName;
}
public String getPersonName() {
return PersonName;
}
public void setPersonName(String PersonName) {
this.PersonName = accPersonName;
}
public long getPhoneNumber() {
return PhoneNumber;
}
public void setPhoneNumber(long PhoneNumber) {
this.PhoneNumber = PhoneNumber;
}
}

Creare clasa Utilizator (Adapter):


import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Utilizator extends CVDetails implements CV {
public void giveCVDetails(){
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Introduceti numele persoanei:");


String numeutilizator=br.readLine();
System.out.print("\n");

System.out.print("Introduceti numar telefon:");


long phonenumber=Long.parseLong(br.readLine());
System.out.print("\n");

System.out.print("Introduceti numele companiei :");


String companyname=br.readLine();

setPersonName(numeutilizator);
setPhoneNumber(phonenumber);
setCompanyName(companyname);
}catch(Exception e){
e.printStackTrace();
}
}
@Override
public String getCV() {
long phonenumber=getPhoneNumber();
String numeutilizator=getPersonName();
String companyname=getCompanyName();

return ("+numeutilizator+" cu numarul de telefon "+phonenumber+" doreste sa se angajeze in


compania "+companyname+ ");
}
}

Crearea clasei AdapterPattern (Client class).


public class AdapterPattern {
public static void main(String args[]){
CV targetInterface=new Utilizator();
targetInterface.giveCVDetails();
System.out.print(targetInterface.getCV());
}
}

S-ar putea să vă placă și