泛型-泛型介面
阿新 • • 發佈:2021-07-29
/**
*實現資料快取的功能:有檔案快取和記憶體快取.檔案快取和記憶體快取按照介面的約束實現
*1定義一個泛型介面約束實現它的子類必須有getByKey(key)和setByKey(key)
*2要求setByKey的時候的value的型別和例項化子類的時候指定的型別一致
*/
abstractclassCache<T>{ getByKey(Stringkey); voidsetByKey(Stringkey,Tvalue); }
classFileCache<T>implementsCache<T>{ @override getByKey(Stringkey){ returnnull; }
@override voidsetByKey(Stringkey,Tvalue){ print('我是檔案快取把key=${key}value=${value}的資料寫入到了記憶體中'); } }
classMemoryCache<T>implementsCache<T>{ @override getByKey(Stringkey){ returnnull; }
@override voidsetByKey(Stringkey,Tvalue){ print('我是記憶體快取把key=${key}value=${value}的資料寫入到了記憶體中'); } }
voidmain(){ //MemoryCachem=newMemoryCache<String>();
//m.setByKey('index','首頁資料');
MemoryCachem=newMemoryCache<Map>();
m.setByKey('index',{"name":"張三","age":20}); } 我是Eric,手機號是13522679763
abstractclassCache<T>{ getByKey(Stringkey); voidsetByKey(Stringkey,Tvalue); }
classFileCache<T>implementsCache<T>{ @override getByKey(Stringkey){ returnnull; }
@override voidsetByKey(Stringkey,Tvalue){ print('我是檔案快取把key=${key}value=${value}的資料寫入到了記憶體中'); } }
classMemoryCache<T>implementsCache<T>{ @override getByKey(Stringkey){ returnnull; }
@override voidsetByKey(Stringkey,Tvalue){ print('我是記憶體快取把key=${key}value=${value}的資料寫入到了記憶體中'); } }
voidmain(){ //MemoryCachem=newMemoryCache<String>();
//m.setByKey('index','首頁資料');
MemoryCachem=newMemoryCache<Map>();
m.setByKey('index',{"name":"張三","age":20}); } 我是Eric,手機號是13522679763