网络开发面试小题

1、列举ASP.NET页面之间传值的几种方式。
QueryString   Ajax   session   cookie   Server.Transfer


2、简述private、protected、public、internal修饰符的访问权限。
private 私有的  表示类或方法只对本类里的方法可见
public 公共的   表示任何类都可以不受限制的访问此成员
protected       本类可以访问和继承自本类的子类    可以访问
internal        类或方法在程序集内部可见,对于使用程序集和外部类不可见就是在同一个.net集合或苦中所有类型均可访问,在同一个命名空间中可以访问




3、简述ADO.NET中的五个主要对象。
sqlconnection      连接字符串
sqlcommand   执行连接对象
sqldatareader      数据阅读器
sqldataadapter     数据适配器
dataset   数据集


4、请简述.NET中类与结构的异同。
类是引用类型 结构则是值类型
类可以继承或被继承,而结构则不支持
结构对象不能像类对象一样赋值为空 




5、override与重载(overload)的区别。


override(重写)


overload重载要求函数名相同,但是参数列表必须不同,返回值可以相同也可以不同,override覆盖要求函数名,参数列表,返回值必须相同



6、new有几种用法?
    1 new 运算符:用于创建对象和调用构造函数。


  2 new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。


  3 new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。




7、用sealed修饰的类有什么特点?
sealed防止该类被其他类继承。因此密封类不可能有派生类




8、在.NET中,配件的意思是?
程序集《中间语言,源数据,资源,装配清单》




9、一个数组:1,1,3,5,8,13,21...,求第30位数是多少?
答:public class MainClass
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if(i > 0 && i <= 2)
return 1;
else return Foo(i -1) + Foo(i - 2);
}
}






10、请简述面向对象的多态的特性及意义
面向对象的语言使用虚方法表达多态。这就意味着派生类可以有和父类具有同样签名的方法,并且父类可以调用派生类的方法【译注:此处应该是对象(或对象引 用、指向对象的指针)】。在Java中,缺省情况下方法就是虚的。在C#中,必须使用virtual关键字才能使方法被父类调用。 


在C#中,还需要override关键字以指明一个方法将重载(或实现一个抽象方法)其父类的方法。 


Class B //【译注:应为class B】 





public virtual void foo () {} 





Class D : B //【译注:应为class D : B】 





public override void foo () {} 





试图重载一个非虚的方法将会导致一个编译时错误,除非对该方法加上“new”关键字,以指明该方法意欲隐藏父类的方法。 


Class N : D //【译注:应为class N : D】 





public new void foo () {} 





N n = new N (); 


n.foo(); // 调用N的foo 


((D)n).foo(); // 调用D的foo 


((B)n).foo(); // 调用D的foo 


和C++、Java相比,C#的override关键字使得阅读源代码时可以清晰地看出哪些方法是重载的。不过,使用虚方法有利有弊。第一个有利点是:避免使用虚方法轻微的提高了执行速度。第二点是可以清楚地知道哪些方法会被重载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值