下面展示一些 javaSE-工厂模式+对象数组应用
。
package demo3_24;
import javax.swing.plaf.TextUI;
/**
* @author 张昭光
* @data 创建时间:2020年3月24日上午10:18:20
* @version 1.0
* @parameter
* @since
* @return
*/
class person{
String name;
int age;
String profession;
public person(String name,int age,String profession) {
this.name=name;
this.age=age;
this.profession=profession;
}
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 getProfession() {
return profession;
}
public void setProfession(String profession) {
this.profession = profession;
}
}
class Personlist{
private person [] persons;
private int realCount;
public person[] getPersons() {
return persons;
}
public void setPersons(person[] persons) {
this.persons = persons;
}
public int getRealCount() {
return realCount;
}
public void setRealCount(int realCount) {
this.realCount = realCount;
}
public Personlist(int totalCount){
this.persons=new person[totalCount];
}
public boolean addPerson(person person) {
persons[realCount]=person;
realCount++;
return true;
}
public person[] getAllPerson( ) {
person[] pers=new person[realCount];
for (int i = 0; i < pers.length; i++) {
pers[i]=this.persons[i];
}
return pers;
}
}
class profession {
void work(person person) {
System.out.println(person.age+"岁的,叫"+person.name+"的"+person.profession+"在上课");
}
}
class ObjectFactory{
public static profession getdoing() {
return new profession();
}
}
public class Factorytest {
public static void main(String[] args) {
person person1=new person("张一",22,"教师");
person person2=new person("张二",12,"学生");
person person3=new person("张三",22,"教师");
person person4=new person("张四",12,"学生");
person person5=new person("张五",12,"学生");
Personlist personlist=new Personlist(10);
personlist.addPerson(person1);
personlist.addPerson(person2);
personlist.addPerson(person3);
personlist.addPerson(person4);
personlist.addPerson(person5);
person []personlist1;
personlist1=personlist.getAllPerson();
profession people=ObjectFactory.getdoing();
for (int i = 0; i < personlist.getRealCount(); i++) {
people.work(personlist1[i]);
}
//
// profession bStudent=ObjectFactory.getdoing();
// bStudent.work(person2);
}
}
输出:
22岁的,叫张一的教师在上课
12岁的,叫张二的学生在上课
22岁的,叫张三的教师在上课
12岁的,叫张四的学生在上课
12岁的,叫张五的学生在上课