定义类:Hat(帽子类)
属性:color(int类型);price(int类型);type(String类型)
提供空参,满参构造,set、get方法
2) 定义接口 :Factory(生产帽子类)
抽象方法:void describe(Hat hat);
抽象方法:ArrayList<Hat> piliang(int num);
3) 定义类:FactoryImp(生产帽子实现类)
实现接口Factory;
重写抽象方法void describe(Hat hat):方法内判断hat的color值,若为奇数是红色,
若为偶数为黄色,并打印该帽子的所有属性(颜色需打印判断后的值:红色或黄色)。
重写抽象方法ArrayList<Hat> piliang(int num):使用for循环生成num个Hat对象,
存入集合中,然后返回集合。对象的color属性随机赋值,price属性随机生成:范围为20-100(包含20和100),
type属性赋值为太阳帽。
4) 测试类:
a. 创建FactoryImp对象。
b. 调用方法ArrayList<Hat> piliang(int num),批量生产5个帽子,并接收。
c. 遍历接收的集合,调用方法void describe(Hat hat)打印集合中对象的属性。
属性:color(int类型);price(int类型);type(String类型)
提供空参,满参构造,set、get方法
2) 定义接口 :Factory(生产帽子类)
抽象方法:void describe(Hat hat);
抽象方法:ArrayList<Hat> piliang(int num);
3) 定义类:FactoryImp(生产帽子实现类)
实现接口Factory;
重写抽象方法void describe(Hat hat):方法内判断hat的color值,若为奇数是红色,
若为偶数为黄色,并打印该帽子的所有属性(颜色需打印判断后的值:红色或黄色)。
重写抽象方法ArrayList<Hat> piliang(int num):使用for循环生成num个Hat对象,
存入集合中,然后返回集合。对象的color属性随机赋值,price属性随机生成:范围为20-100(包含20和100),
type属性赋值为太阳帽。
4) 测试类:
a. 创建FactoryImp对象。
b. 调用方法ArrayList<Hat> piliang(int num),批量生产5个帽子,并接收。
c. 遍历接收的集合,调用方法void describe(Hat hat)打印集合中对象的属性。
解决方案 »
- 集合框架更改的问题
- 【新手】想问下这个socket的简单对话的编写出错在哪个地方
- 这个诡异的程序
- java中的对象大小
- 有没有办法使用导入包中的protected 方法
- J2SE能开发出类似PP、风行、迅雷在线看视频功能??(急!急!)
- 编写了一个包。里面有两个类,想同时导入,但是用一条*导入时编译不成功,但分成独立的包名在导入却成功了。。这是为什么
- 大家给各建议!!!!!!!!!!做什么WAP网站符合大众 急!!!!!!!!!!!!!!!!
- JDBC查询数据库问题,我是新手,请教各位,谢!
- 菜鸟问题!
- java调用动态库异常 UnsatisfiedLinkError.
- 显示当前正在浏览的页面
/**
* 帽子类
* @author 枫雅
* 2019年3月19日
*/
public class Hat {
private int color;
private int price;
private String type;
public Hat() {
// TODO Auto-generated constructor stub
}
public Hat(int color, int price, String type) {
this.color = color;
this.price = price;
this.type = type;
} public int getColor() {
return color;
} public void setColor(int color) {
this.color = color;
} public int getPrice() {
return price;
} public void setPrice(int price) {
this.price = price;
} public String getType() {
return type;
} public void setType(String type) {
this.type = type;
}
@Override
public String toString() {
return "color:" + Integer.toString(color) + ", price:" + Integer.toString(price) + ", type:" + type;
}
}import java.util.ArrayList;/**
* 生产帽子类
* @author 枫雅
* 2019年3月19日
*/
public interface Factory {
void describe(Hat hat);
ArrayList<Hat> piliang(int num);
}import java.util.ArrayList;
import java.util.List;/**
* 生产帽子实现类
* @author 枫雅
* 2019年3月19日
*/
public class FactoryImp implements Factory{ @Override
public void describe(Hat hat) {
System.out.print(hat + ",");
if (hat.getColor() % 2 == 0) {
//黄色
System.out.println("该帽子颜色为:黄色");
}else {
//红色
System.out.println("该帽子颜色为:红色");
}
} @Override
public ArrayList<Hat> piliang(int num) {
List<Hat>list = new ArrayList<Hat>(num);
for (int i = 0; i < num; i++) {
Hat hat = new Hat((int)(Math.random()*10), (int)(Math.random()*81 + 20), "太阳帽");
list.add(hat);
}
return (ArrayList<Hat>)list;
}}import java.util.List;/**
* 测试类
* @author 枫雅
* 2019年3月19日
*/
public class TestHat {
private static List<Hat>list = null;
public static void main(String[] args) {
FactoryImp imp = new FactoryImp();
list = imp.piliang(5);
for (int i = 0; i < 5; i++) {
imp.describe(list.get(i));
}
}}