安徽新华电脑专修学院_安徽电脑培训_安徽电脑培训学校_合肥电脑培训

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > D語言動態創建對象-D最新功能

D語言動態創建對象-D最新功能
2010-01-13 21:13:27  作者:  來源:

D語言動態創建對象-D最新功能
 
我認為這是D提供的又一個重量級的功能.閑言少敘,代碼說話!

保存為cre.d,使用dmd cre.d編譯.

Java代碼
module cre;  
 
import std.stdio;  
 
interface IPrinter  
{    
  void print();  
  void init(char[] a);  
}  
 
class foo :IPrinter  
{    
  void print()  
  {  
    writefln("foo OK  "~fb);      
  }  
    
  void init(char[] a)  
  {  
    fb = " Hollo "~a;  
  }  
    
  char[] fb;  
}  
 
 
class fbb :IPrinter  
{    
  void print()  
  {  
    writefln("fbb:OK! "~fb);      
  }  
    
  void init(char[] a)  
  {  
    fb = "Thank you "~a;  
  }  
    
  char[] fb;  
}  
 
//IOC Factory.  
class Factory(T)  
{    
  static T create(char[] Name)  
  {  
    T instance =cast(T)Object.factory(Name);  
    assert(instance);   
    return instance;      
  }     
}  
 
 
int main()  
{  
  writefln("Factory Test!");  
  alias Factory!(IPrinter) PT;  
  IPrinter a = PT.create("cre.foo");  
  a.init("Walter!");   
  a.print();  
    
  IPrinter b = PT.create("cre.fbb");  
  b.init("Walter!");   
  b.print();   
  return 1;  

module cre;

import std.stdio;

interface IPrinter

  void print();
  void init(char[] a);
}

class foo :IPrinter

  void print()
  {
    writefln("foo OK  "~fb);   
  }
 
  void init(char[] a)
  {
    fb = " Hollo "~a;
  }
 
  char[] fb;
}


class fbb :IPrinter

  void print()
  {
    writefln("fbb:OK! "~fb);   
  }
 
  void init(char[] a)
  {
    fb = "Thank you "~a;
  }
 
  char[] fb;
}

//IOC Factory.
class Factory(T)

  static T create(char[] Name)
  {
    T instance =cast(T)Object.factory(Name);
    assert(instance);
    return instance;   
  }  
}


int main()
{
  writefln("Factory Test!");
  alias Factory!(IPrinter) PT;
  IPrinter a = PT.create("cre.foo");
  a.init("Walter!");
  a.print();
 
  IPrinter b = PT.create("cre.fbb");
  b.init("Walter!");
  b.print();
  return 1;
}


根據這個功能,結合動態鏈接庫,可以提供簡單插件的功能了!!!
實現了IOC,針對抽象進行依賴.

更多信息請登陸http://61.191.27.74:802/ 最后,歡迎加入http://61.191.27.74:802/的會員


安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
相關熱詞搜索:對象 語言 功能
主站蜘蛛池模板: 舟舟宝贝少儿培训网-少儿艺术培训-少儿舞蹈培训-少儿英语培训 | 苏州洁仪净化科技有限公司| 拉力机|拉力试验机|拉力测试机厂家-苏州天氏库力精密仪器有限公司 | 锦州龙威机械有限公司官网 ,锦州医药包装机,包装机,锦州包装机械,小袋颗粒装盒生产线,颗粒装盒生产线,软双铝装盒线,伺服颗粒 | 塑料凹版印刷机-干式复合机-分条机-涂布机生产厂家温州华印机械有限公司 | 橡胶管_高压橡胶管_高压胶管_铠装高压胶管-河北远大新特橡塑有限公司 | 上海互动多媒体公司_上海触摸屏软件开发_上海互动投影开发_上海VR虚拟现实制作_上海全息投影制作_上海互动轨道屏制作—盟邑数字 上海浩斌信息科技有限公司RFID读写器,IC卡读卡器,手持机,数据采集终端,电力仓库管理软件开发,固定资产软件,纱管标签,试剂管理,RFID试剂柜,档案管理,档案柜,智能货架 | 精馏塔_甲醇回收塔_糠醛塔-无锡弘鼎华化工设备有限公司 | 暖通家-中国暖通空调及热泵产业资讯平台,专业为厂家和商家提供价值服务 | 免费的动态思维导图软件,脑图大师,思维导图制作软件 - 万彩脑图大师官网 | 智慧园区平台_智慧园区智慧写字楼运营平台领导品牌 | 随车吊/洒水车/低平板运输车-程力专用汽车股份有限公司 | 长沙物流公司|湖南货物运输公司|长沙第三方物流公司-国联物流 湖南第三方物流专家 | 户外工程照明|洗墙灯厂家|聚翔(广东)照明科技有限公司 | 浙江云野科技有限公司_智慧旅游规划_智慧景区管理系统_全域旅游解决方案-云野科技旅游大数据管理平台 | 耐腐蚀磁力泵,直立式耐酸碱泵,立式耐酸碱泵,自吸式耐酸碱泵-杰凯泵业【官网】 | 钕铁硼-强力磁铁-永磁铁「聚盛磁铁」10年定制加工生产厂家 | 沼气池-沼气设备-沼气工程-山东达禹环境工程有限公司 | 真空清洗炉_真空煅烧炉_铸铝加热器-盐城市钰凯电器有限公司 | 网络公关公司_舆情监测_危机公关_品牌公关_一夜红传媒 | 专业无机盐,化工产品检测公司,水处理剂检测公司,第三方水质检测机构—准诺检测 | 山东华德耐特工业设备有限公司-仓储货架-钢托盘-物流车-周转箱-工位器具 | 洁净室、手术室、实验室、无尘车间厂房的净化工程装修设计施工公司-福临建设 | 长兴嘉诚炉业有限公司【官网】 | 全自动码垛机械手,码垛机器人,拆包机,缠绕机,开箱封箱装箱机厂家-山东昊宇自动化设备有限公司 | 深圳同步带轮_东莞齿轮加工_东莞同步轮厂家-东莞东城精胜机械配件厂 | 河北新鑫矿冶设备有限公司-河北新鑫矿冶设备有限公司 | 火绒杀毒软件|火绒安全企业版_西南|四川|重庆|贵州|云南|西藏|成都火绒服务中心_成都火影科技有限公司-火绒安全|成都火影科技|火绒 | 气体检测仪_气体传感器_可燃气体检测仪-精讯畅通电子科技 | 山东发电机组生产厂家,特种火花塞生产厂家,高压线生产厂家,空气滤芯生产厂家,济南市博盛动力机械有限公司 | 山东胜王水处理设备有限公司,反渗透设备,纯净水设备,污水处理设备,SWS系列全自动钠离子交换器,纯净水设备报价,活性碳过滤器,多介质过滤器 | 输送机电动滚筒_山东电动滚筒_输送机滚筒_皮带输送机-山东中输输送机械有限公司 | 钎头_球齿钎头_一字钎头 - 铜陵狮达矿山机械有限公司 | 尾矿干排_机制砂尾矿干排_带式压滤机|山东森鹏环保科技有限公司 潍坊卓瑞机械有限公司,输送设备,石灰消化设备,餐厨垃圾设备,化机浆设备,污泥脱水 | 上海消防器材|水雾喷头|水幕喷头|螺旋喷头|雾化喷头|泡沫喷头 - 上海舜丹消防设备有限公司 | 氢能-燃料电池-电堆-中国氢能与燃料电池网企业最佳宣传推广平台 轻质隔墙板厂家-加气隔墙板_grc轻质隔墙板_空心实心复合隔墙板_水泥混凝土轻质隔墙板批发价格 | 深山工作室提供网络投票系统|微信公众号投票|微信公众号小程序|抖音小程序|百度小程序|微信公众号开发|企业网站建设 | 江苏广分检测技术有限公司、电力安全工具检测、苏州绝缘工具检测、昆山电力安全工具检测-广分检测技术(苏州)有限公司 | 铁氟龙膜/板/棒-铁氟龙网带/胶带/胶布-[东莞华氟]专注铁氟龙及特氟龙制品生产 | 叶片泵,液压电机,油泵电机,变量叶片泵,油压电机-广东俊泰液压科技有限公司 | 基坑护栏,临边护栏网,爬架网,爬架网片,铁路防护栅栏,公路护栏网,河北昊坤金属制品有限公司 |