.NET笔试题:访问修饰符与编程挑战

需积分: 9 3 下载量 168 浏览量 更新于2024-07-28 收藏 83KB DOC 举报
"这是一份.NET相关的笔试题,涵盖了面向对象特性、.NET框架中的接口与类、访问修饰符的理解、SQL查询以及ASP.NET页面间数据传递等知识点。" 在.NET编程中,了解类的访问修饰符是至关重要的,它们定义了类成员(如字段、属性、方法)的可访问性,这直接影响了代码的封装性和安全性。以下是四种主要的访问修饰符: 1. `private`:私有访问修饰符,表示该成员只能在定义它的类内部访问。这是最高的封装级别,外部代码无法直接访问。 2. `protected`:受保护访问修饰符,允许在定义它的类及其派生类中访问。这对于继承机制来说非常关键,允许子类访问并重写基类的受保护成员。 3. `public`:公共访问修饰符,表示该成员对所有代码都是可见的,可以在任何地方访问。这是最低的访问限制。 4. `internal`:内部访问修饰符,仅限于同一程序集内的类访问。这是一种介于`public`和`private`之间的访问级别,用于限制代码的外部可访问性,但允许在同一个库或项目中的其他类进行访问。 题目中还涉及到其他知识点: - 面向对象的三大特性:封装、继承、多态。封装是将数据和操作这些数据的方法绑定在一起,继承允许创建一个类(子类)作为另一个类(基类)的扩展,多态则提供了多种形态的能力,允许子类重写父类的方法。 - .NET中的`foreach`循环用于遍历集合,要求集合实现`IEnumerable`接口或者包含`GetEnumerator`方法,以便迭代器可以访问集合的元素。 - ADO.NET的主要对象包括:`SqlConnection`(连接到数据库)、`SqlCommand`(执行SQL命令)、`SqlDataReader`(读取数据流)、`DataSet`(离线存储数据)和`DataTable`(数据表对象)。 - 接口(Interface)不包含实现,不能有虚方法,但一个类可以实现多个接口(A选项错误,B选项正确)。接口不能被实例化(C选项正确),接口中可以声明方法,但不能包含已实现的方法(D选项错误)。 - 从数据库读取记录,常用的方法有`ExecuteNonQuery`(执行非查询操作,如插入、更新、删除)、`ExecuteScalar`(返回单个值)、`Fill`(填充数据集)和`ExecuteReader`(返回数据读取器)。 - SQL Server中,获取第31到第40条记录的SQL语句可能是: ```sql SELECT * FROM A WITH (NOLOCK) WHERE ID BETWEEN 31 AND 40 ``` 这里的`WITH (NOLOCK)`是可选的,用于无锁定读取,提高性能,但可能导致脏读。 - ASP.NET页面间传递值的方式包括:URL参数传递、视图状态(ViewState)、隐藏字段、Session、Cookie、Query String、Application以及服务器控件的ViewData和TempData等。 - 代码段涉及到了方法的调用和静态成员,`StringConvert(string str)`和`StringConvert(Class1 c)`是两个静态方法,`Add(int i)`和`AddWithRef(ref int i)`分别展示了值传递和引用传递。在`Main()`方法中,没有实际调用这些方法,所以不会改变`str`或`i`的值,因此没有输出。