開發與維運

屬性自動賦值實現思路 | 帶你學《Java語言高級特性》之九十

上一篇:傳統屬性賦值弊端 | 帶你學《Java語言高級特性》之八十九
【本節目標】
本節介紹了屬性自動賦值的實現思路,需要一個專門的ClassInstanceFactory類負責所有的反射處理,即:接收反射對象與要設置的屬性內容,同時可以獲取指定類的實例化對象。

屬性自動設置解決方案

經過分析後已經確認了當前簡單Java類操作的問題所在,而對於開發者而言就需要想辦法通過一種解決方案來實現屬性內容的自動設置,那麼這時的設置強烈建議採用字符串的形式來描述對應的類型。
1、在進行程序開發時String字符串可以描述的內容有很多,並且也可以由開發者自行定義字符串的結構,下面就採用“屬性名:內容|屬性名:內容|”的形式來為簡單Java類中的屬性初始化。
2、類設計的基本結構:應該由一個專門的ClassInstanceFactory類負責所有的反射處理,即:接收反射對象與要設置的屬性內容,同時可以獲取指定類的實例化對象。

image.png
反射與簡單Java類

3、設計的基本結構:

public class JavaAPIDemo {
    public static void main(String[] args)throws Exception{
        String value="ename:Smith|job:Clerk";
        Emp emp = ClassInstanceFactory.create(Emp.class, value);
        System.out.println("姓名:" + emp.getEname() + "、職位:" + emp.getJob());
    }
}
class ClassInstanceFactory{
    private ClassInstanceFactory(){}

    /**
     * 實例化對象的創建方法,該對象可以根據傳入的字符串結構:"屬性:內容|屬性:內容"
     * @param clazz 要進行反射實例化的Class對象,有Class就可以反射實例化對象
     * @param value 要設置給對象的屬性內容
     * @return 一個已經配置好屬性內容的Java對象
     */
    public static <T> T create(Class<?> clazz,String value){
        return null;
    }
}

那麼在當前的開發中,所需要完善的就是ClassInstanceFactory.create()處理方法。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。
本內容視頻來源於阿里雲大學

下一篇:單級屬性賦值 | 帶你學《Java語言高級特性》之九十一
更多Java面向對象編程文章查看此處

Leave a Reply

Your email address will not be published. Required fields are marked *