实例要求
使用类集可以表示出以下的关系:一个学校可以包含多个学生,一个学生属于一个学校,那么这就是一个典型的一对多关系,此时就可以通过类集进行关系的表示。
实例主要采用的知识
1、类的设计
2、类集
一个学校有多个学生,那么学生的个数属于未知的,那么这样一来肯定无法用普通的对象数组表示。所以,必须通过类集表示。
学生类:
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 ; } }
学校类
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 ; } }
关系测试类
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.println(sch) ; Iterator<Student> iter = sch.getAllStudents().iterator() ; while(iter.hasNext()){ System.out.println("\t|- " + iter.next()) ; } } }
输出结果:
学校名称:清华大学 |- 学生姓名:张三;年龄:21 |- 学生姓名:李四;年龄:22 |- 学生姓名:王五;年龄:23
相关推荐
031317_〖第13章:Java类集〗_范例讲解:一对多关系笔记.pdf 031318_〖第13章:Java类集〗_范例讲解:多对多关系笔记.pdf 031401_【第14章:枚举】_枚举的作用笔记.pdf 031402_【第14章:枚举】_Enum笔记.pdf 031403...
本范例主要探讨了Hibernate中的两种关联关系:一对多(One-to-Many)和多对一(Many-to-One)。这两种关联关系是数据库设计中常见的实体关系映射,理解并熟练掌握它们对于开发复杂的数据库驱动应用至关重要。 一对...
### ASP.NET程序开发范例宝典(光盘)—— 目录解读与知识点解析 #### 一、ASP.NET基础知识 **1.1 ASP.NET简介** - **知识点:** - ASP.NET是一种服务器端脚本环境,它允许程序员使用C#等语言来构建动态网页。 ...
在繁忙的铁路站场,如大新铁路编组站,由于天窗时间有限(即非运营时段),施工任务重,同时还需要应对多股道、复杂的节点布置和各种线路的共架问题,更换软横跨是一项极具挑战性的任务。 【详细说明】 1. **施工...
3. **观察者模式**(Observer Pattern):定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。Java中的`java.util.Observable`和`java.util.Observer`接口...
【单片机程序范例讲解】是针对初学者的一个教程,旨在帮助他们理解单片机的基本操作和外围模块的设计。这个教程涵盖了多个实用的模块,包括跑马灯、蜂鸣器、继电器、数码管、字符型液晶屏以及ULN2003芯片的使用。...
《C#经典范例50讲》是一份针对C#编程语言的学习资源,它通过50个精心挑选的实例,全面地介绍了C#的基础知识和高级特性。这本教程不仅适用于初学者,也对有一定经验的开发者有很好的参考价值。在深入探讨之前,让我们...
6. **多线程**:Java内置对多线程的支持,通过Thread类和Runnable接口,开发者可以创建并发执行的任务。理解线程同步、互斥锁、条件变量等概念,有助于编写高效并发程序。 7. **设计模式**:设计模式是解决常见编程...
《C#经典范例50讲》是一本深入探讨C#编程语言的实践教程,它包含了一系列精心挑选的示例,旨在帮助读者更好地理解和掌握C#的核心概念与实用技巧。通过对这50个实例的学习,开发者可以提升在C#开发中的实际应用能力。...
在实际操作中,你可以参考范例讲解1 甲机通过串口控制乙机LED闪烁的源码,这将帮助你更好地理解上述理论知识,并动手实践。记住,动手实践是学习单片机的关键,多尝试,多调试,你会慢慢掌握这一技能。
7. **Chapter5**: 可能涵盖了表间关系的建立和管理,如一对一、一对多和多对多关系,以及如何利用关系进行数据的关联和操作。 8. **Chapter6**: 可能讲解了宏和模块的使用,宏用于自动化简单任务,而模块则允许编写...
《Visual C++ 程序开发范例宝典》是一本深入探讨Visual C++编程实践的书籍,其01(01-24)部分涵盖了从基础到进阶的多个主题,旨在帮助开发者掌握Visual C++的核心技能。通过提供的压缩包子文件的文件名称列表,我们...
《C#范例开发大全源代码--刘丽霞版》是一部深入浅出的C#编程实践教程,由知名IT教育专家刘丽霞编著。该资料集包含了丰富的C#编程实例,旨在帮助开发者掌握C#语言的核心概念、特性和应用技巧。通过这份源代码,学习者...
《C#程序开发范例宝典》是一本深入讲解C#编程语言的书籍,由明日科技出版。本书致力于提供丰富的实例,帮助读者掌握C#编程的核心技术和实践应用。"第一章光盘2.rar"很可能是该书配套的示例代码或教学资源,用于辅助...
总的来说,《C++ Qt5 范例开发大全》是一本全面覆盖Qt5开发的教程,它以实例为引导,通过深入浅出的讲解,帮助读者全面掌握Qt5框架,无论你是初涉GUI编程还是寻求进阶,都能从中受益匪浅。通过阅读和实践书中的例子...
《Java范例开发大全》是一本全面覆盖Java编程的实用指南,旨在帮助初学者和有经验的开发者深入理解和掌握Java语言。这本书包含了从基础到高级的各类编程概念和技巧,通过丰富的实例代码来阐述理论知识,使学习过程...
《C#经典范例50讲》是一份针对C#初学者精心编纂的教程,由京华志和精华志联合出品,旨在帮助新手快速掌握C#编程语言的基础与实践应用。这个教程涵盖了大量的实例,从基础语法到高级特性,全方位地展示了C#在实际开发...
**msp430仿真软件的使用讲解及范例** 在嵌入式系统开发中,Texas Instruments(TI)的MSP430系列微控制器因其低功耗和高性能而备受青睐。为了有效地进行MSP430的应用开发,掌握一款强大的仿真软件是至关重要的。...
这本书的核心是通过具体的程序范例来讲解C#编程的各种技术和技巧,旨在帮助读者深入理解.NET环境下的C#编程,并提升实际编程能力。 在.NET框架中,C#是一种强大的面向对象的编程语言,它被广泛应用于Windows桌面...
2. **指针与内存管理**:C语言的一大特色就是对内存的直接操作,这在其他高级语言中并不多见。书中详细讲解了指针的使用,包括指针的声明、赋值、解引用,以及如何通过指针进行动态内存分配和释放,帮助读者理解...