きっとJavaクラスセット例の説明:一対の多関係ノート

2534 ワード

きっとJavaクラスセット例の説明:一対の多関係ノート
インスタンスの要件:
クラスセットを使用すると、1つの学校に複数の学生を含めることができ、1つの学生が1つの学校に属する場合、これは典型的な1対多の関係であり、この場合、クラスセットを通じて関係の表現を行うことができます.
3、本例の主な知識
1、クラスの設計
2、クラスセット
4、具体的な内容
1つの学校に複数の学生がいる場合、学生の個数は未知数に属し、通常のオブジェクト配列では表現できないに違いない.クラスセットで表示する必要があります.
コード:
School.java
import java.util.List;
import java.util.ArrayList;
public class School{
    private String name;
    private List<Student> allStudents;
    public School(){
        this.allStudents = new ArrayList<Student>();
    }
    public School(String name){
        this();
        this.setName(name);
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return this.name;
    }
    public List<Student> getAllStudents(){
        return this.allStudents;
    }
    public String toString(){
        return " :"+this.name;    
    }
}

Student.java
public class Student{
    private String name ;
    private int age ;
    private School school; //  
    public Student(String name,int age){
        this.setName(name) ;
        this.setAge(age) ;
    }
    public void setSchool(School school){
        this.school = school ;
    }
    public School getSchool(){
        return this.school ;
    }
    public void setName(String name){
        this.name = name ;
    }
    public void setAge(int age){
        this.age = age ;
    }
    public String getName(){
        return this.name;
    }
    public int getAge(){
        return this.age ;
    }
    public String toString(){
        return " :" + this.name + "; :" + this.age ;
    }
};

TestDemo.java
import java.util.Iterator;
public class TestDemo{
    public static void main(String[] args){
        School sch = new School(" ");
        Student s1 = new Student(" ",21);
        Student s2 = new Student(" ",22);
        Student s3 = new Student(" ",23);
        sch.getAllStudents().add(s1);
        sch.getAllStudents().add(s2);
        sch.getAllStudents().add(s3);
        s1.setSchool(sch);
        s2.setSchool(sch);
        s3.setSchool(sch);
        System.out.print(sch);
        Iterator<Student> iter = sch.gerAllStudents().iterator();
        while(iter.hasNext()){
            System.out.println("\t|- "+iter.next());
        }
    }
}

5、まとめ
1.クラスセットの関係が分かるようになると,この関係を今後の標準プログラムの開発の基礎と呼ぶ.