@装配脑袋
3 C#支持多重继承么?
--答案是类之间不支持,接口之间支持。类对接口叫做实现,不叫继承。
inherit an interface没有什么不妥,为什么中文就不可以?
6 请描述一下修饰符protected internal。
--正确答案是,在同一个Assembly中,他的访问级别和public一样,而跨Assembly访问时,他的访问级别同protected一样。即protected的范围 + internal的范围。
同一个Assembly中依然是protected,您可以查阅一下相关资料。
11 能够将非静态的方法覆写成静态方法么?
--答案并没有大错,只是静态方法根本无override概念,属于引起困惑的问题
我只是问“能覆写成”么?如果她知道静态方法根本无override概念,显然可以打出这个问题。
13 能够阻止某一个类被其他类继承么?
--答案没错,但是如果应试者提到将所有构造函数的访问级别都设为Private或子类无法访问到的其他级别(Assembly外的internal),也有同样的效果。
您说的对,但如果这样思路想下来,我还可以说用C++写父类不能让C#继承。不要太钻牛角尖了。
14 能够实现允许某个类被继承,但不允许其中的某个方法被覆写么?
--同样是可能引起困惑的题。因为默认(不带virtual)的方法就是不能被override的。带sealed的方法必定是被override过的。
这个答案有理。
20 接口和抽象类的区别是什么?
--还有一个容易被忽视的区别,C#不允许接口带有静态成员,尽管这不是.NET的限制。
有道理,但接口不可以有成员吧,不管静态还是非静态的
23 const和readonly有什么区别?
--还有一些区别,当应试者提到时你不能说是错的:作字段时const隐含静态,const可以是局部的,readonly可以在构造函数中初始化等。
我不是很明白你的意思。但我觉得回答出“const关键字用来声明编译时常量,readonly用来声明运行时常量。”已经足够完美了。
回复 引用 查看