저,,이 소스에 중요부분만 주석처리부탁드려요 ㅠㅠ
등대
//추상클래스
?xml:namespace prefix = o ns = urn:schemas-microsoft-com:office:office /
import java.awt.*;
import java.awt.event.*;
abstract class Person {
protected String name;
protected int age;
protected String address;
public Person(){} //생성자
public Person(String name, int age, String address )//생성자
{
this.name = name;
this.age = age;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
//추상 함수
abstract int CompareTo(Object obj);
}
class Student extends Person
{
protected String schoolname;
protected int haknun;
protected int ban;
public Student(){}
public Student(String name, int age, String address, String schoolname, int hak, int ban)
{
super(name, age, address); //부모생성자 호출
haknun = hak;
this.ban = ban;
this.schoolname = schoolname;
}
public String getSchoolname() {
return schoolname;
}
public void setSchoolname(String schoolname) {
this.schoolname = schoolname;
}
public int getHaknun() {
return haknun;
}
public void setHaknun(int haknun) {
this.haknun = haknun;
}
public int getBan() {
return ban;
}
public void setBan(int ban) {
this.ban = ban;
}
int CompareTo(Object obj)
{
Student temp=(Student)obj;
return name.compareTo(temp.name);
}
public void Study()
{
System.out.println(현재 공부하는 학생들);
System.out.println(이름 : + name);
System.out.println(나이 : + age);
System.out.println(주소 : + address);
System.out.println(학교이름 : + schoolname);
System.out.println(학년 : + haknun);
System.out.println(반 : + ban);
}
}
class Salaryman extends Person
{
protected String company;
protected int pay;
SPAN st
public Salaryman(){}
public Salaryman(String name, int age, String address, String company, int pay)
{
super(name, age, address); //부모생성자 호출
this.company = company;
this.pay = pay;
}
int CompareTo(Object obj)
{
Salaryman temp=(Salaryman)obj;
return name.compareTo(temp.name);
}
public void Work()
{
System.out.println(현재일을 하는 사람들);
System.out.println(이름 : + name);
System.out.println(나이 : + age);
System.out.println(주소 : + address);
System.out.println(회사이름 : + company);
System.out.println(급여: + pay);
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public int getPay() {
return pay;
}
public void setPay(int pay) {
this.pay = pay;
}
}
class Foreign extends Person
{
protected String country; //나라이름
public Foreign(){}
public Foreign(String name, int age, String address, String country)
{
super(name, age, address); //부모생성자 호출
this.country = country;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
int CompareTo(Object obj)
{
Foreign temp=(Foreign)obj;
return name.compareTo(temp.name);
}
public void Tour()
{
System.out.println(현재 우리나라에 체류하는 외국인들);
System.out.println(이름 : + name);
System.out.println(나이 : + age);
System.out.println(주소 : + address);
System.out.println(나라이름 : + country);
}
}
class TestFrame extends Frame implements ActionListener
{
//버튼 컨트롤
Button btnOutput1;
Button btnOutput2;
Button btnOutput3;
Student []st=new Student[10];
Salaryman []sm=new Salaryman[10];
Foreign []fo=new Foreign[10];
public static void main(String[] args)
{
TestFrame mainFrame = new TestFrame();
}
public TestFrame()
{
//버튼 컨트롤
btnOutput1 = new Button(학생정보출력);
btnOutput2 = new Button(샐러리맨정보출력);
btnOutput3 = new Button(외국인정보출력);
for(int i=0; i10; i++)
{
st[i] = new Student(); //객체 생성
st[i].setName(김가영+i);
st[i].setAddress(봉천동+i);
st[i].setAge(17);
st[i].setSchoolname(삼양고등학교+i);
st[i].setHaknun(2);
st[i].setBan(4);
}
for(int i=0; i10; i++)
{
sm[i] = new Salaryman(); //객체 생성
sm[i].setName(홍길동+i);
sm[i].setAddress(신갈동+i);
sm[i].setAge(27+i);
sm[i].setCompany(우림전자);
sm[i].setPay(2800000);
}
SPAN st
for(int i=0; i10; i++)
{
fo[i] = new Foreign();
fo[i].setName(Tom+i);
fo[i].setAddress(오리동+i);
fo[i].setAge(25+i);
fo[i].setCountry(캐나다);
}btnOutput1.addActionListener(this);
btnOutput2.addActionListener(this);
btn0ptbtnOutput3.addActionListener(this);
this.setLayout(new FlowLayout());
this.add(btnOutput1);
this.add(btnOutput2);
this.add(btnOutput3);
this.setSize(600,400);
this.setResizable(false);
this.setVisible(true);//닫기 버튼 누르면 윈도우가 닫힌다.
this.addWindowListener(new WindowAdapter(){
//닫기 버튼 누르면 프로그램 종료하도록 , WindowListener 를 추가함
public void windowClosing(WindowEvent e) {
System.exit(1);
}
});
}
public void actionPerformed (ActionEvent e){
if (e.getSource () == btnOutput1){
for(int i=0; i10; i++)
st[i].Study();
}
else if (e.getSource() == btnOutput2){
for(int i=0; i10; i++)
sm[i].Work();
}
else if (e.getSource() == btnOutput3){
for(int i=0; i10; i++)
fo[i].Tour();
}
}
}