国产一区二区精品久久_蜜桃狠狠狠狠狠狠狠狠狠_午夜视频精品_激情都市一区二区

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 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/的會員


安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
相關熱詞搜索:對象 語言 功能