재학 JAVA 기초(5): 대상방향

12245 단어 java 기초
1. 포장
import java.util.Date;



public class Human {



    protected String name;

    

    protected BirthDay birthDay;

    

    protected String sex;



    public String getName() {

        return name;

    }



    public void setName(String name) {

        this.name = name;

    }



    public String getSex() {

        return sex;

    }



    public void setSex(String sex) {

        this.sex = sex;

    }



    public BirthDay getBirthDay() {

        return birthDay;

    }



    public void setBirthDay(BirthDay birthDay) {

        this.birthDay = birthDay;

    }

    

    public int getAge(){//    

        if(birthDay!=null){

            Date nowDate = new Date(System.currentTimeMillis());

            int year = nowDate.getYear()+1900;

            int month = nowDate.getMonth()+1;

            int day = nowDate.getDate();

            int age = year - this.birthDay.getYear();

            if(this.birthDay.getMonth()>month){

                return age-1;

            }else if(this.birthDay.getMonth()==month){

                if(this.birthDay.getDay()>=day){

                    return age-1;

                }

            }

            return age;

        }

        return 0;

    }

    

    public String toString(){

        return "name:"+name+" sex:"+sex+" age:"+getAge();

    }

    

    public String toString(Human human){

        return this+"";

    }



    public Human(){

        

    }

    public Human(String name,String sex) {

        super();

        this.name = name;

        this.sex = sex;

    }

    

    public Human(String sex) {

        super();

        this.sex = sex;

    }

    public Human(String name,String sex,int year,int month,int day) {

        super();

        this.name = name;

        this.birthDay = new BirthDay(year, month, day);

        this.sex = sex;

    }

    

}
public class BirthDay {



    private int year;

    

    private int month;

    

    private int day;



    public int getYear() {

        return year;

    }



    public void setYear(int year) {

        this.year = year;

    }



    public int getMonth() {

        return month;

    }



    public void setMonth(int month) {

        this.month = month;

    }



    public int getDay() {

        return day;

    }



    public void setDay(int day) {

        this.day = day;

    }

    

    public BirthDay(){

        

    }



    public BirthDay(int year, int month, int day) {

        super();

        this.year = year;

        this.month = month;

        this.day = day;

    }

    

}

 
2. 상속
public class Woman extends Human{



    public Woman(){

        super("Woman");

    }

    

    public Woman(String name){

        super(name,"Woman");

    }

    

    public String toString(){

        return " I am Woman,"+super.toString();

    }

    

    public String toString(Woman woman){

        return woman+"";

    }

}
public class Man extends Human{



    public Man(){

        super("Man");

    }

    

    public Man(String name){

        super(name,"Man");

    }

    

    public String toString(){

        return " I am Man,"+super.toString();

    }

    

    public String toString(Man man){

        return man+"";

    }

    

}

 
3. 다태
public class TestOO {



    public static void main(String[] args) {

        Human man = new Man("man");

        Human woman = new Woman("woman");

        System.out.println(woman.toString(man));

        System.out.println(man.toString(woman));

    }

}

실행 결과:
 I am Woman,name:woman sex:Woman age:0

 I am Man,name:man sex:Man age:0

좋은 웹페이지 즐겨찾기