日期:2014-05-20  浏览次数:20782 次

大神,help,一个不好搜索的问题
我现在有一个类A,比如说叫他大类,他有很多属性
class a
{
属性 1
属性 2
属性 3
属性 4
属性 5
........

}
现在我想创建多个小类,这些类里的属性是不确定 的,但是都是a里面 的
比如说
class b
{
属性 1
属性 4
属性 5
}


class c
{
 属性 2
属性 4
}

就是 说呢,我现在要创建多个小类 ,这些属性都是从那个类a里面过来的,能不能有一个通用的办法,不至于让我,每想建一个新的小类,就得从新建一个小类,然后复制一下大类的某些属性,能不能有什么动态生成小类的办法什么的,不知道大家明白我说的问题了么,嘿嘿,高手请指教,谢谢

------解决方案--------------------
可以考虑用配置文件
------解决方案--------------------
每一个小类都继承至大类!!
------解决方案--------------------
探讨

每一个小类都继承至大类!!

------解决方案--------------------
那就把大类里面的属性先分成几个小类。。然后再去让它们继承
------解决方案--------------------
我倒是碰到过类似的问题
我用接口实现,给每个小类归个类,xxx-able之类的.
然后用各个小类实现各自的接口。
大类就实现全部的接口。

------解决方案--------------------
自己写一个方法自动生成。用个输入流写个怎么样?
自动创建一个.java文件。
类名,属性名 属性类型 ,get Set 方法,都可以生成。
------解决方案--------------------
自己封装一个Map好了

for example
Java code
class SubData {
    Map<String, Object> map = new HashMap<String, Object>();
    public void set(String key, Object value) {
        map.put(key, value);
    }
    public Object get(String key) {
        map.get(key);
    }
    public boolean contains(String key) {
        return map.containsKey(key);
    }
}

A a = new A();

SubData b = new SubData();
b.set("xxx", a.getXXX());
b.set("yyy", a.getYYY());

SubData c = new SubData();
c.set("zzz", a.getXXX());

if (b.contains("xxx")) {
    System.out.println(b.get("xxx"));
}

------解决方案--------------------
这个设计本身就有问题。。。