lunes, 30 de mayo de 2011

Java Semana 3 Dia 9 Ejemplo de código 2 (Constructores y Overloading; Clase Person.java y Main MainPerson.java)

//Archivo Person.java
package suntraining.chap02;

public class Person{

//Atributos
private int id;
private String name;
private String userName;
private String userMail;
private String userPassword;
public static int personCounter;

//Setters
public void setId(int i){
id=i;
}

public void setName(String n){
name=n;
}

public void setUserName(String u){
userName=u;
}

public void userMail(String m){
userMail=m;
}

public void userPassword(String p){
userPassword=p;
}

//Getters
public int getId(){
return id;
}

public String getName(){
return name;
}

public String getUserName(){
return userName;
}

public String getUserMail(){
return userMail;
}

public String getUserPassword(){
return userPassword;
}

//Constructores
public Person(){
System.out.println("Creando Objeto");
personCounter++;
}

public Person(String name){
System.out.println("Overloading con 1 string");
//Se utiliza la palabra reservada this para referirse al name de esta clase y que no quede la asignacion name=name
this.name=name;
personCounter++;
}

public Person (String name, String userName){
System.out.println("Overloading con dos strings");
this.name=name;
this.userName=userName;
personCounter++;
}

public Person(int id){
System.out.println("Overloadig con un entero");
this.id = id;
personCounter++;
}
}


//Archivo MainPerson.java

package suntraining.chap02;

public class MainPerson{

public static void main (String []args){

//Se manda a imprimir la variable estatica personCounter para checar que no se necesita declarar una instancia
// para utilizar una variable estatica

//Se crean instancias mandando con distintos parametros para ver el concepto de sobrecarga u overloading
System.out.println("counter: "+Person.personCounter);
Person p = new Person();
System.out.println("counter: "+p.personCounter);
Person per1 = new Person(1);
System.out.println("counter: "+Person.personCounter);
Person per2 = new Person("Juan");
System.out.println("counter: "+Person.personCounter);
Person per3 = new Person("Luis","luis@mail.com");
System.out.println("counter: "+Person.personCounter);

System.out.println("counter: "+p.personCounter);
System.out.println("counter: "+per1.personCounter);
System.out.println("counter: "+per2.personCounter);
System.out.println("counter: "+per3.personCounter);

/*Se le da el valor a personCounter de -1 para observar que aunque se utilicen distintas instancias para imprimir la variable, se conserva en todos el mismo valor*/
Person.personCounter=-1;

System.out.println("counter: "+p.personCounter);
System.out.println("counter: "+per1.personCounter);
System.out.println("counter: "+per2.personCounter);
System.out.println("counter: "+per3.personCounter);



}
}

No hay comentarios:

Publicar un comentario