日期:2014-05-20  浏览次数:20685 次

这道面试题目究竟该选择什么?
以下的C#代码,试图用来定义一个接口:  
public   interface   IFile  
{  
int   A;  
int   delFile()  
{  
A   =   3;  
}  
void   disFile();  
}  
关于以上的代码,以下描述错误的是(   )。  
a)以上的代码中存在的错误包括:不能在接口中定义变量,所以int   A代码行将出现错误;
                           
b)以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数;
                      。
c)代码void   disFile();声明无错误,接口可以没有返回值;
                     
d)代码void   disFile();应该编写为void   disFile(){};

------解决方案--------------------
)以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现错误;

------解决方案--------------------
d)代码void disFile();应该编写为void disFile(){};
------解决方案--------------------
d)代码void disFile();应该编写为void disFile(){};
选D
------解决方案--------------------
我认为这道题的答案不是一个。
a 当然不对了;故一楼的选择正确;
二楼选b,我认为不对,因为在接口中只能写方法的声明,不能写方法的实现。所以b是正确的,题目叫选错误的,b不能选;

三楼和四楼都选d,d是正确的,题目叫选错的,所以d不能选;

c选项 我看也不对,因为在任何能够声明方法的地方声明方法时,都得加{},所以叫选错的,应选c

最后答案应该是a、c
------解决方案--------------------
正确答案是d……

我汗……
a和b显然是正确的,因为接口中确实不允许出现方法的实现和变量的定义。

至于c和d,从C++、Java到C#,对于纯虚函数(抽象方法)都是不要{}的:
------解决方案--------------------
TO:c选项 我看也不对,因为在任何能够声明方法的地方声明方法时,都得加{},所以叫选错的,应选c


这个本来就不需要加{}..
------解决方案--------------------
ad
我这些天看enterpriselibrary2.0 编那些该死的接口
不用加{} 的

void MethodName(); 就可以
------解决方案--------------------
说错误的描述:D

a)以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现错误;
对阿。
b)以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数;
是啊。
c)代码void disFile();声明无错误,接口可以没有返回值;
没错。
d)代码void disFile();应该编写为void disFile(){};
错,void disFile();就可以了,写了{}就等于有了方法的主体,所以错。