CN101770360B - 构件化软件系统中构件的继承方法 - Google Patents
构件化软件系统中构件的继承方法 Download PDFInfo
- Publication number
- CN101770360B CN101770360B CN 200810208049 CN200810208049A CN101770360B CN 101770360 B CN101770360 B CN 101770360B CN 200810208049 CN200810208049 CN 200810208049 CN 200810208049 A CN200810208049 A CN 200810208049A CN 101770360 B CN101770360 B CN 101770360B
- Authority
- CN
- China
- Prior art keywords
- component
- derivative
- interface
- derivative member
- virtual interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
一种构件化软件系统中构件的继承方法,该方法包括如下步骤:步骤1,在构件化软件系统声明虚接口指针时,为声明的虚接口指针创建对应的派生构件的实例对象,将创建的实例对象输出给声明的虚接口指针;步骤2,通过Probe函数从声明的虚接口指针获得普通接口的接口指针;步骤3,通过普通接口的接口指针从外部调用基构件实现的方法;步骤4,通过声明的虚接口指针调用对应的派生构件实现的方法,实现派生构件重载基构件实现的方法;步骤5,在所述对应的派生构件实现的方法中,调用基构件实现的方法,实现派生构件内部调用基构件已有实现的方法;步骤6,释放创建的派生构件实例对象,执行结束。
Description
技术领域
本发明涉及一种构件的继承方法,尤其涉及一种构件化软件系统中构件的继承方法。
背景技术
在C++或JAVA等面向对象语言中,可以通过源代码级继承来达到重用已有实现的目的。
传统的C++编程中的继承方法,C++是基于代码和实现的继承,也就是说,对于派生类来说,基类的源代码和实现是必须完全开放的,在此基础上才能被继承。如果基类的成员变量发生变化或者非常微小的代码变化,都要引起派生类重新编译,同时也会影响使用派生类对象的用户代码。
随着计算机软件技术的不断发展,构件化软件技术已经越来越普及,各种各样的构件技术和支持这些构件技术的相应的嵌入式操作系统也应运而生。例如,基于基构件和派生构件架构的构件技术,在该架构中,派生构件继承于基构件,用于实现基于基构件的特定功能,而基于该架构的嵌入式操作系统由于存在基构件与派生构件的继承关系实现了作业的时效性、针对性、便捷性。因此,如何解决构件化软件系统中基构件与派生构件之间继承的关联性问题已经成为人们必须面对的课题。
发明内容
鉴于以上内容,有必要提供一种构件化软件系统中构件的继承方法,可以使基构件与派生构件之间的继承具有源代码和实现的无关性。
一种构件化软件系统中构件的继承方法,该方法包括如下步骤:
步骤1,在构件化软件系统声明虚接口指针时,为声明的虚接口指针创建对应的派生构件的实例对象,将创建的实例对象输出给声明的虚接口指针;
步骤2,通过Probe函数从声明的虚接口指针获得普通接口的接口指针;
步骤3,通过普通接口的接口指针从外部调用基构件实现的方法;
步骤4,通过声明的虚接口指针调用对应的派生构件实现的方法,实现派生构件重载基构件实现的方法;
步骤5,在所述对应的派生构件实现的方法中,调用基构件实现的方法,实现派生构件内部调用基构件已有实现的方法;及
步骤6,释放创建的派生构件实例对象,执行结束。
相较于现有技术,本发明通过继承其他构件的方式来重用被继承构件所实现的接口,重载被继承构件的虚接口,实现了替代基构件的实现方法,使得基构件与派生构件之间的继承具有源代码和实现的无关性。
附图说明
图1是本发明构件化软件系统中构件的继承方法较佳实施例的主流程图。
图2是图1中步骤S20的细化流程图。
图3是图1中步骤S40的细化流程图。
具体实施方式
如图1所示,是本发明构件化软件系统中构件的继承方法的较佳实施例的流程图。该方法适用于能运行构件化软件系统的数据处理设备。该数据处理设备是指手机、个人数字助理(Personal DigitalAssistant,PDA)等装置。所述构件化软件系统为嵌入式操作系统。该方法具有重用基构件已有实现、重载基构件的虚接口及接口调用时的多态性。派生构件能够重载基构件的虚接口,虚接口的方法能够指向不同的派生构件的实现,因此在这种构件继承方法中具有多态性。在本较佳实施例中,基构件为CAnimal,派生构件为CDog及CCat,所述派生构件继承于基构件,所声明的接口为虚接口IGreeting及普通接口IAnimal。
Animal.car构件代码文件:
Interface IGreeting{
Greet(); //为接口声明一个方法
}
Interface IAnimal{
SetName(WString name); //为接口声明一个方法
GetName(WStringBuf_<50>name);//为接口声明一个方法
}
class CAnimal{ //声明一个基构件
virtual interface IGreeting//声明该基构件实现IGreeting接口,且将IGreeting作为虚接口
interface IAnimal;//声明该基构件实现IAnimal接口
class CDog:CAnimal{//声明一个名称为CDog的派生构件,该派生构件继承于CAnimal
interface IGreeting;//声明实现IGreeting接口,这是个虚接口,将重载基构件的实现
}
class CCat:CAnimal{//声明一个名称为CCat的派生构件,该派生构件继承于CAnimal
interface IGreeting;//声明实现IGreeting接口,这是个虚接口,将重载基构件的实现
}其中,该Animal.car文件定义了两个接口分别为IGreeting和IAnimal,同时也定义了一个基构件CAnimal,该基构件实现IGreeting和IAnimal接口。后面的class CDog:CAnimal或class CCat:CAnimal表示派生构件CDog和CCat继承于基构件CAnimal。这样派生构件CDog和CCat就有了IGreeting和IAnimal这两个接口的定义与实现。virtual关键字表示该接口为“虚接口”,与C++语言中虚函数对应,虚接口中的接口方法Greet()可被派生构件CDog和CCat重载,并且可以从基构件CAnimal中调用重载后的派生构件CDog和CCat接口实现的方法。在本较佳实施例中,基构件CAnimal的实现,是调用虚接口IGreeting中的Greet()方法得到,其中,Greet()方法会跳到派生构件CDog或CCat实现的方法Greet()中执行。
CAnimal基构件的实现代码(CAnimal.cpp):
Ecode CAnimal::Greet()
{
Return E_NOT_IMPLEMENT//这里CAnimal没有做任何操作
}
ECode CAnimal::SetName(WString name)//IAnimal接口方法
SetName在基构件CAnimal中的实现
{
m_name.Copy(name);//将参数name的内容保存到成员变量m_name
return NOERROR;
}
ECode CAnimal::GetName(WStringBuf*name)//IAnimal接口方
法GetName在基构件CAnimal中的实现
{
name->Copy(m_name);//将成员变量m_name的内容复制到
out参数name
return NOERROR;
}
其中,CAnimal::Greet()是IGreeting接口方法Greet()在基构件
CAnimal中的实现,该实现没有做任何操作(Return
E_NOT_IMPLEMENT),需要派生构件重载。
CDog派生构件的实现(CDog.cpp):
ECode CDog::Greet()
{
WStringBuf_<100>out;
Super::GetName(&out);//在CDog里通过“Super::”调用基构件
实现的GetName方法,获得animal的名字,并输出到out变量里。
out《“:Wang Wang~~~”;
CConsole::WriteLine(out);//调用控制台输出函数,将out的内容
打印到屏幕上
return NOERROR;
}
IInterface*CDog::Probe(EIID iid)
{
If(iid==EIID_IInterface)return(IInterface*)this;
If(iid==EIID_IGreeting)return(IGreeting*)this;
}
其中,ECode CDog::Greet()是IGreeting接口方法Greet()在派生构件CDog中的实现,以实现重载基构件CAnimal的实现CAnimal::Greet()。IInterface*CDog::Probe(EIID iid)是实现一个构件类在不同接口之间的转换,通过获取对应接口类型指针实现不同接口之间的转换。所述获取对应接口类型指针的方法通过Probe函数进行调用。Probe函数用于通过其中的一个接口指针获取其它接口指针,实现各种类型的接口指针之间的转换。具体而言,在本较佳实施例中,假设用户声明的一个IGreeting类型的虚接口指针pDog和一个IAnimal类型的普通接口pAnimal,用户可以通过pDog虚接口指针获取pAnimal接口指针。具体代码如下:
IAnimal*pAnimal=IAnimal::Probe(pDog);
以上代码中,用户通过IGreeting类型的虚接口指针pDog获取一个
IAnimal类型的普通接口的接口指针pAnimal。
CCat.cpp派生构件的实现代码(CCat.cpp):
ECode CCat::Greet()//IGreeting接口方法Greet()在派生构件CCat
中的实现,该实现将重载CAnimal::Greet()
{
WStringBuf_<100>out;
Super::GetName(&out);//在CDog里通过“Super::”调用基构件实
现的GetName方法,获得animal的名字,并输出到out变量里。
out《“:Miao Miao~~~”;
CConsole::WriteLine(out);//调用控制台输出函数,将out的内容打
印到屏幕上
return NOERROR;
}
其中,ECode CCat::Greet()是IGreeting接口方法Greet()在派生构件CCat中的实现,将重载CAnimal::Greet()。
在构建上述代码之后,对上述代码进行编译,生成DLL(DynamicLinkable Library:动态链接库)文件,生成的DLL文件提供两个接口以供主程序调用,主程序通过声明接口指针调用所述生成的DLL文件。在主程序Main()控制下,如图1所示的流程图,执行以下步骤:
步骤S10:在构件化软件系统声明虚接口指针时,为声明的虚接口指针创建对应的派生构件的实例对象,将创建的实例对象输出给声明的虚接口指针。具体而言,在本较佳实施例中,声明一个虚接口IGreeting类型的虚接口指针pDog,创建一个派生构件CDog的实例对象,将该对象输出给pDog。具体代码如下:
IGreeting*pDog=NULL;
CDog::New(&pDog);//创建一个CDog类型的实例对象,并通过pDog输出。
步骤S20:通过Probe函数从声明的虚接口指针获得该派生构件继承的基构件的普通接口的接口指针。具体而言,在本较佳实施例中,具体代码如下:
IAnimal*pAnimal=IAnimal::Probe(pDog);
上述代码中,因为pDog指向一个派生构件CDog的实例对象,CDog继承于CAnimal,具有基构件CAnimal实现的IAnimal接口,因此可以通过Probe函数从虚接口指针pDog获得普通接口IAnimal的接口指针pAnimal。
步骤S30:通过普通接口的接口指针指针从外部调用基构件实现的方法。该步骤的关键在于获得基构件所实现的接口指针。具体而言,在本较佳实施例中,具体代码如下:
pAnimal->SetName(L”Dog”);
上述代码中,通过pAnimal接口指针调用IAnimal接口方法SetName(),该pAnimal接口指针最终调用到基构件CAnimal实现的SetName()方法。
步骤S40:通过声明的虚接口指针调用派生构件实现的方法,实现派生构件重载基构件实现的方法,即实现派生构件重载基构件的实现。具体而言,在本较佳实施例中,具体代码如下:
pDog->Greet();
上述代码中,通过虚接口指针pDog调用IGreeting接口的Greet()方法,由于IGreeting是一个虚接口,pDog实际指向的是CDog对象,所以,这里最终调用的Greet()方法是由派生构建类CDog实现的,这样就实现了派生构件CDog重载基构件CAnimal实现的方法Greet()。
步骤S50:在所述派生构件实现的方法中,调用基构件实现的方法,实现派生构件内部调用基构件已有实现。具体而言,在所述派生构件实现的方法Greet()中,通过在构件化软件系统中定义的关键字调用基构件CAnimal实现的方法GetName()。在本较佳实施例中,所述关键字为“Super”,当用户输入关键字“Super”时,表明调用基构件实现的方法。具体代码如下:
Super::GetName(&out);
上述代码中,在派生构建类CDog里通过“Super::”调用基构件实现的GetName方法。在其他实施例中,所述关键字可以为其它字符,如“Father”。
步骤S60:释放创建的派生构件实例对象,执行结束。具体而言,释放创建的派生构件实例对象pDog和pCat,具体代码如下:
pDog->Release();
释放对象之后,执行结束。
此外,用户在声明其它虚接口指针时,该虚指针的类型与上述声明的虚接口类型,创建另外一个派生构件的实例对象,将创建的实例对象输出给声明的虚接口指针,通过另外一个虚接口指针调用派生构件实现的方法,实现了调用时的多态性。具体而言,具体代码如下:
IGreeting*pCog=NULL;
CCat::New(&pCat);//创建一个CCat类型的实例对象,并通过pCat输出。
上述代码中,声明一个IGreeting的接口指针,通过pCat虚接口指针调用派生构件实现的方法Greet(),调用到派生构件CCat实现的方法Greet(),同样是IGreeting接口的虚接口指针pDog和pCat,调用相同的Greet()方法,但输出的结果却完全不同,虚接口指针pDog调用Greet()方法输出的结果是:“Dog:Wang Wang~~~”,而虚接口指针pCat调用Greet()方法输出的结果是:“Cat:Miao Miao~~~”,实现了调用时的多态性。类似于C++的虚方法的多态性,使用IGreeting*类型的指针调用Greet()方法,不同的对象具有不同的实现,如果IGreeting*类型的指针指向CDog,则调用CDog::Greet,如果IGreeting*类型的指针指向的是CCat,则调用CCat::Greet。但对于调用代码来说,都是相同的pGreet->Greet(),不同的派生构件实现的虚接口IGreeting具有不同的语义和行为,由此实现了基于构件接口的多态性。
如图2所示,是图1中步骤S20中获得普通接口的接口指针的细化流程图。
步骤S200,根据虚接口指针调用派生构件中的Probe函数。具体而言,在本较佳实施例中,通过虚接口指针pDog调用派生构件CDog中的Probe函数。
步骤S201,判断派生构件是否实现了普通接口的方法。具体而言,在本较佳实施例中,判断派生构件CDog是否实现了普通接口IAnimal的方法,普通接口IAnimal的方法包括GetName()或SetName()。
步骤S202,若派生构件没有实现普通接口的方法,则调用基构件中的Probe函数。具体而言,在本较佳实施例中,调用基构件CAnimal中的Probe函数。
步骤S203,通过基构件中的Probe函数,获得基构件的普通接口的接口指针。具体而言,在本较佳实施例中,获得基构件CAnimal的普通接口的接口指针pAnimal。
在步骤S201中,若派生构件实现了普通接口的方法,则于步骤S205中,获得派生构件的虚接口指针,之后转到上述步骤S40。
如图3所示,是图1中步骤S40中实现派生构件重载基构件的实现的细化流程图。所谓重载基构件的实现,就是当基构件和派生构件都实现了某个虚接口时,派生构件可以用自己的实现重载基构件的实现。该步骤的关键在于获得派生构件的虚接口指针。其中,当基构件和派生构件都有自己虚接口的实现时,用户调用这个接口必须要先通过Probe函数来获得虚接口指针,那么优先获得派生构件实现的接口指针,如果派生构件没有实现,再获得基构件实现的接口指针。
步骤S400,判断虚接口指针是否指向对应的派生构件的实例对象。具体而言,在本较佳实施例中,判断虚接口指针pDog是否是CDog的实例对象。
步骤S401,若虚接口指针是指向对应的派生构件的实例对象,则调用派生构件中的Probe函数。具体而言,在本较佳实施例中,若pDog指向的是CDog对象,则调用派生构件CDog中的Probe函数。
步骤S402,判断派生构件是否实现了该虚接口的方法。具体而言,在本较佳实施例中,判断CDog是否实现了IGreeting接口方法Greet()。
步骤S403,若派生构件实现了该虚接口的方法,则获得该派生构件的虚接口指针,通过获得的虚借口指针实现派生构件重载基构件实现的方法。具体而言,在本较佳实施例中,派生构件CDog实现了IGreeting接口方法Greet(),则获得派生构件CDog的接口指针pDog。
在步骤S400中,若虚接口指针没有指向对应的派生构件的实例对象,则于步骤S404,调用基构件中的Probe函数。具体而言,若虚接口指针pDog指向的不是派生构件CDog的实例对象,则调用CAnimal的Probe函数。
步骤S405,获得基构件的普通接口的接口指针。具体而言,获得基构件CAnimal的普通接口的接口指针pAnimal。
在步骤S402中,若派生构件没有实现该虚接口的方法,则转到步骤S404。具体而言,若派生构件CDog没有实现该虚接口IGreeting的方法Greet(),则调用CAnimal的Probe函数,获得基构件CAnimal的普通接口的接口指针。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (7)
1.一种构件化软件系统中构件的继承方法,适用于能运行构件化软件系统的数据处理设备,其特征在于,该方法包括如下步骤:
步骤1,在构件化软件系统中声明虚接口指针时,为声明的虚接口指针创建对应的派生构件的实例对象,将创建的实例对象输出给声明的虚接口指针;
步骤2,通过Probe函数从声明的虚接口指针获得该派生构件继承的基构件的普通接口的接口指针;
步骤3,通过普通接口的接口指针从外部调用该基构件实现的方法;
步骤4,通过声明的虚接口指针调用对应的派生构件实现的方法,以实现派生构件重载基构件实现的方法;
步骤5,在所述对应的派生构件实现的方法中,调用基构件实现的方法,以实现派生构件内部调用基构件已有实现的方法;及
步骤6,释放创建的派生构件实例对象,执行结束。
2.如权利要求1所述的构件化软件系统中构件的继承方法,其特征在于,所述构件化软件系统为嵌入式操作系统。
3.如权利要求1所述的构件化软件系统中构件的继承方法,其特征在于,所述数据处理设备为手机或个人数字助理。
4.如权利要求1所述的构件化软件系统中构件的继承方法,其特征在于,所述Probe函数通过其中的一个接口指针获取其它接口指针,从而实现各种类型的接口指针之间的转换。
5.如权利要求1所述的构件化软件系统中构件的继承方法,其特征在于,所述步骤2具体包括:
根据声明的虚接口指针调用派生构件中的Probe函数;
判断派生构件是否实现了普通接口的方法;
若派生构件实现了普通接口的方法,则获得派生构件的虚接口指针;
若派生构件没有实现普通接口的方法,则调用基构件中的Probe函数,通过基构件中的Probe函数,获得基构件的普通接口的接口指针。
6.如权利要求1所述的构件化软件系统中构件的继承方法,其特征在于,所述步骤4实现派生构件重载基构件实现的方法的关键在于获得派生构件的虚接口指针,所述获得派生构件的虚接口指针具体步骤如下:
判断虚接口指针是否指向对应的派生构件的实例对象;
若虚接口指针是指向对应的派生构件的实例对象,则调用派生构件中的Probe函数;
判断派生构件是否实现了该虚接口的方法;及
若派生构件实现了该虚接口的方法,则获得该派生构件的虚接口指针。
7.如权利要求1所述的构件化软件系统中构件的继承方法,其特征在于,所述步骤5实现派生构件内部调用基构件已有实现的方法是通过在构件化软件系统中定义的关键字进行调用的。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810208049 CN101770360B (zh) | 2008-12-29 | 2008-12-29 | 构件化软件系统中构件的继承方法 |
HK10109883.9A HK1143436A1 (en) | 2008-12-29 | 2010-10-19 | A method to implement component inheritance in a component based software system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810208049 CN101770360B (zh) | 2008-12-29 | 2008-12-29 | 构件化软件系统中构件的继承方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101770360A CN101770360A (zh) | 2010-07-07 |
CN101770360B true CN101770360B (zh) | 2013-01-16 |
Family
ID=42503242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810208049 Expired - Fee Related CN101770360B (zh) | 2008-12-29 | 2008-12-29 | 构件化软件系统中构件的继承方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101770360B (zh) |
HK (1) | HK1143436A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787080A (zh) * | 2016-03-02 | 2016-07-20 | 深圳市元征科技股份有限公司 | 节点数据处理方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375740A (zh) * | 2010-08-26 | 2012-03-14 | 上海科泰世纪科技有限公司 | 手持装置及利用其实现Java组件与自定义构件互操作的方法 |
CN103077032B (zh) * | 2013-01-06 | 2019-08-27 | 北京百度网讯科技有限公司 | 应用程序的操作方法及应用程序的客户端 |
CN108446149B (zh) * | 2018-02-28 | 2021-07-20 | 北京凌宇智控科技有限公司 | 一种第三方动态库接口拦截方法及系统 |
CN108319504B (zh) * | 2018-03-19 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 内存占用优化方法、装置及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1339742A (zh) * | 2001-10-12 | 2002-03-13 | 北京大学 | 构件化软件的在线演化方法 |
CN1512340A (zh) * | 2002-12-31 | 2004-07-14 | 北京科泰世纪科技有限公司 | 调用构件对象功能的智能指针的封装方法 |
US6986144B2 (en) * | 2001-04-24 | 2006-01-10 | Sun Microsystems, Inc. | Protected resource access in an object-oriented computing environment |
CN1908896A (zh) * | 2006-08-24 | 2007-02-07 | 上海科泰世纪科技有限公司 | 一种构件的继承方法 |
-
2008
- 2008-12-29 CN CN 200810208049 patent/CN101770360B/zh not_active Expired - Fee Related
-
2010
- 2010-10-19 HK HK10109883.9A patent/HK1143436A1/xx not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986144B2 (en) * | 2001-04-24 | 2006-01-10 | Sun Microsystems, Inc. | Protected resource access in an object-oriented computing environment |
CN1339742A (zh) * | 2001-10-12 | 2002-03-13 | 北京大学 | 构件化软件的在线演化方法 |
CN1512340A (zh) * | 2002-12-31 | 2004-07-14 | 北京科泰世纪科技有限公司 | 调用构件对象功能的智能指针的封装方法 |
CN1908896A (zh) * | 2006-08-24 | 2007-02-07 | 上海科泰世纪科技有限公司 | 一种构件的继承方法 |
Non-Patent Citations (1)
Title |
---|
杨青松,陈榕,殷人昆,杨维康.CAR构件继承机制及其在图形构件中的应用.《计算机工程与设计》.2006,第27卷(第6期), * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787080A (zh) * | 2016-03-02 | 2016-07-20 | 深圳市元征科技股份有限公司 | 节点数据处理方法及装置 |
CN105787080B (zh) * | 2016-03-02 | 2019-04-19 | 深圳市元征科技股份有限公司 | 节点数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
HK1143436A1 (en) | 2010-12-31 |
CN101770360A (zh) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10223097B2 (en) | Dynamic update of an application in compilation and deployment with cold-swapping | |
US10146522B1 (en) | Live code updates | |
CN101770360B (zh) | 构件化软件系统中构件的继承方法 | |
CN102402427B (zh) | 一种Java应用程序的更新方法及装置 | |
Tourwé et al. | On the existence of the AOSD-evolution paradox | |
US9910688B2 (en) | Implementing aspects with callbacks in virtual machines | |
US20090100405A1 (en) | Synchronizing an abstract model and source code | |
Kolovos et al. | Update transformations in the small with the epsilon wizard language | |
JP2005301993A (ja) | コマンドバインディングを実行するためのデータバインディング機構のアプリケーション | |
WO2003046694A2 (en) | Method and apparatus for creating software objects | |
US8185876B2 (en) | Method and implementation for constructing of corrected java native code | |
CN101247292B (zh) | 基于通用测试仪表应用编程接口的测试设备及测试方法 | |
WO2017087801A1 (en) | Dynamic update of an application in compilation and deployment | |
CN102262555B (zh) | 加载java三方库的不同版本的方法和装置 | |
CN100495332C (zh) | 构件化软件系统中实现构件外壳类构建的方法 | |
Zenger et al. | Implementing extensible compilers | |
TWI501152B (zh) | 用於簡化具有動態程式庫的介面之方法 | |
Lovatt et al. | A pattern enforcing compiler (PEC) for Java: using the compiler | |
CN1900905A (zh) | 测试描述语言的实现方法及其装置 | |
Takeyama et al. | An advice for advice composition in aspectj | |
CN113360136A (zh) | 一种基于sca核心框架控制接口的实现方法 | |
Giandini et al. | Use case refinements in the object oriented software development process | |
Seiger et al. | A Framework for Rapid Prototyping of Multimodal Interaction Concepts. | |
Dong et al. | Approach to generate integration test sequence based on UML collaboration diagrams. | |
Holzmann | Points of truth |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1143436 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1143436 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130116 Termination date: 20151229 |
|
EXPY | Termination of patent right or utility model |