????2??C#?н??????????:
???????????C#?н???????????????????????ó?????????????£????????????????????
??????????????????????????VB??????????????VBд?????????????clsVBProgramer?????????Delphi????????????Delphiд?????????????clsDelphiProgramer??????????????????????WriteCode()?????????????£?
????class clsVBProgramer()
????{
????....
????WriteCode()
????{
????//??VB????д????
????}
????....
????}
????class clsDelphiProgramer()
????{
????....
????WriteCode()
????{
????//??Delphi????д????
????}
????....
????}
???????????????????????????????????д???????
????class clsProject()
????{
????....
????WritePrograme(clsVBProgramer programer)//??VBд????
????{
????programer.WriteCode();
????}
????WritePrograme(clsDelphiProgramer programer)//???????????Delphiд????
????{
????programer.WriteCode();
????}
????......
????}
?????????????????????????д??
????main()
????{
????clsProject proj=new clsProject;
????//????????VBд????
????clsVBProgramer programer1=new clsVBProgramer;
????proj.WritePrograme(programer1);
????//????????Delphiд????
????clsDelphiProgramer programer2=new clsDelphiProgramer;
????proj.WritePrograme(programer2);
????}
??????????????????????????C#??????????????????γ??????????????C#д?????????????????????????????clsCSharpProgramer???????clsProject???????????????WritePrograme??clsCSharpProgramer programer?????????????鷳????????????C???????C++???????JAVA?????????鷳?????
??????????????y??????????????
????????????????????????
????interface IProgramer()
????{
????WriteCode();
????}
??????????????????????IProgramer????
class clsVBProgramer():IProgramer
{
....
WriteCode()
{
//??VB????д????
}
....
}
class clsDelphiProgramer():IProgramer
{
....
WriteCode()
{
//??Delphi????д????
}
....
}
??????clsProject???????????????
class clsProject()
{
....
WritePrograme(IProgramer programer)
{
programer.WriteCode();//д????
}
......
}
main()
{
clsProject proj=new clsProject;
IProgramer programer;
//????????VBд????
programer=new clsVBProgramer;
proj.WritePrograme(programer);
//????????Delphiд????
programer=new clsDelphiProgramer;
proj.WritePrograme(programer);
}
???????????C#??C??C++??JAVA??????????????????????????????????????????????????main()?????????OK??????????????
?????????????????clsProject???????????????????????????????????書??????????????????????С?????????????????????ò??????????????????????????????????