Sunteți pe pagina 1din 6

package testpersoana;

class Adresa{
String strada, bloc, localitate;
int numar, apartament, codPostal;
Adresa(){
strada=null;
bloc=null;
localitate=null;
numar=0;
apartament=0;
codPostal=0;
}
Adresa(String s,String b, String l,int n, int a, int c){
strada=s;
bloc=b;
localitate=l;
numar=n;
this.apartament=a;
this.codPostal=c;
}
Adresa(Adresa a){
strada=a.strada;
bloc=a.bloc;
localitate=a.localitate;
numar=a.numar;
apartament=a.apartament;
codPostal=a.codPostal;
}
public String toString(){
return "Adresa--str. "+strada+" nr. "+numar+" bl. "+bloc+" ap. "+apartament+
" loc. "+localitate+" cod. "+codPostal;
}
void afisare(){
System.out.println("Adresa--str. "+strada+" nr. "+numar+" bl. "+bloc+" ap. "+apartament+
" loc. "+localitate+" cod. "+codPostal);
}
}

class Persoana{
String nume, prenume;
int anulNasterii;
Adresa adr;
Persoana(){
adr=new Adresa();
anulNasterii=2009;
}
Persoana(String n, String p, int an,Adresa a){
nume=n;
prenume=p;
anulNasterii=an;
adr=new Adresa(a);
}
Persoana(Persoana p){
nume=p.nume;
prenume=p.prenume;
anulNasterii=p.anulNasterii;
adr=new Adresa(p.adr);
}
public String toString(){
String a=adr.toString();
return "Persoana="+nume+" "+prenume+" nasuta in "+anulNasterii+" "+a;
}
void afisare(){
System.out.print("Persoana="+nume+" "+prenume+" nasuta in "+anulNasterii+" ");
adr.afisare();
}
int varsta(){
return 2018-anulNasterii;
}
}

class Student extends Persoana{


String facultate, specializare;
int anul;
Student(){
super();
facultate=null;
specializare=null;
anul=0;
}
Student(String f, String s, int a,Persoana p){
super(p);
facultate=f;
specializare=s;
anul=a;
}
void afisare(){
super.afisare();
System.out.println("\t\teste sutdent la "+facultate+" "+specializare+"-"+anul);
}
}

class Elev extends Persoana{


String numeleScolii,formaInvatamant;
int anul;
Elev(){
super();
numeleScolii=" ";
formaInvatamant=" ";
anul=0;
}
Elev(String numeleSc,String formaInv,int a,Persoana p){
super(p);
numeleScolii=numeleSc;
formaInvatamant=formaInv;
anul=a;
}
void afisare(){
super.afisare();
System.out.println(" numele scolii= "+numeleScolii+" forma invatamant=
"+formaInvatamant+" anul= "+anul);
}
}

class TestPersoana{
public static void main(String a[]){
Adresa a1,a2,a3;
a1=new Adresa();
a2=new Adresa("Domneasca","B1","Galati",100,2,800080);
System.out.println(a1);
System.out.println(a2);
a1.afisare();
a2.afisare();
Persoana p1,p2,p3;
p1=new Persoana();
p2=new Persoana("Popescu","Vasile",1985,a2);
p3=new Persoana("Ionescu","Maria",1980,a2);
System.out.println(p2);
System.out.println("Varsta lui p2="+p2.varsta());
//System.out.println(p1);
p1.afisare();
Persoana[] p={p1,p2,p3};//new Persoana[3];
p[0]=p1;
p[1]=p2;
p[2]=p3;
System.out.println("\n\n\nPersoane cu varsta >20ani:");
for(int i=0;i<p.length;i++)
if(p[i].varsta()>20)
p[i].afisare();
Student s1,s2;
s1=new Student();
s2=new Student("SC","bb",2,p2);
s1.afisare();
s2.afisare();
Elev e1,e2;
e1=new Elev();
e2=new Elev("CNMK","ff",3,p3);
e1.afisare();
e2.afisare();
}
}

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