1. 填空: (1)面向对象的语言具有________性、_________性、________性。
(2)能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。
(3)列举ADO.net中的五个主要对象_______________、_____________、_______________、_______________、_________________。 2. 不定项选择: 软件开发网 www.mscto.com
(1) 以下叙述正确的是:
A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。
(2) 从数据库读取记录,你可能用到的方法有: A. ExecuteNonQuery B. ExecuteScalar
C. Fill D. ExecuteReader
3. 简述 private、 protected、 public、 internal 修饰符的访问权限。
class Class1 { i++; } static void Main() { int i1 = 10; int i2 = 20; string str = "str"; Class1 c = new Class1(); Add(i1); AddWithRef(ref i2); Add(c.i); StringConvert(str); StringConvert(c); Console.WriteLine(i1); Console.WriteLine(i2); Console.WriteLine(c.i); Console.WriteLine(str); Console.WriteLine(c.str); } }
public abstract class A
public class B: A
public new void Fun()
public static void Main()
public void Fun2(A a)
public static void Main()
9. 一列数的规则如下: 1、1、2、3、5、8、13、21、34......
求第30位数是多少, 用递归算法实现。(C#语言)
要求: 1.要有联动性,老鼠和主人的行为是被动的。 软件开发网 www.mscto.com
2.考虑可扩展性,猫的叫声可能引起其他联动效应。
2. (1) B、C (考对接口的理解) (2) B、C、D (考查对ADO.net的熟练程度)
3. . private : 私有成员, 在类的内部才可以访问。
4. 解1: select top 10 * from A where id not in (select top 30 id from A)
评分标准: 答对一点得2分,两点得5分,3点得7分。全对得10分。
(一些人做这题,头都晕了.... ^_^ )
9.
public class MainClass 写出if(i > 0 && i <= 2) return 1; 得5分。 方法参数过多需要扣分(扣除分数 = 参数个数 - 1) 不用递归算法扣5分 软件开发网 www.mscto.com (递归算法在树结构建立等方面比较常用)
10 软件开发网 www.mscto.com
要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象
subj.AimAt(this); } public void Response() { Console.WriteLine(name + " attempt to escape!"); } } public class Master : Observer { public Master(Subject subj) { subj.AimAt(this); } public void Response() { Console.WriteLine("Host waken!"); } } public class Cat : Subject { private ArrayList observers; public Cat() { this.observers = new ArrayList(); } public void AimAt(Observer obs) { this.observers.Add(obs); } public void Cry() { Console.WriteLine("Cat cryed!"); foreach (Observer obs in this.observers) { obs.Response(); } } } class MainClass { static void Main(string[] args) { Cat cat = new Cat(); Mouse mouse1 = new Mouse("mouse1", cat); Mouse mouse2 = new Mouse("mouse2", cat); Master master = new Master(cat); cat.Cry(); }
软件开发网 www.mscto.com
}
设计方法二: 使用event -- delegate设计..
{ Console.WriteLine("cat cryed."); this.FireAway(); } } public abstract class Observer { public Observer(Subject sub) { sub.SubEvent += new SubEventHandler(Response); } public abstract void Response(); } public class Mouse : Observer
{ private string name; public Mouse(string name, Subject sub) : base(sub) { this.name = name; } public override void Response() { Console.WriteLine(name + " attempt to escape!"); } } public class Master : Observer { public Master(Subject sub) : base(sub){} public override void Response() { Console.WriteLine("host waken"); } } class Class1 { static void Main(string[] args) { Cat cat = new Cat(); Mouse mouse1 = new Mouse("mouse1", cat); Mouse mouse2 = new Mouse("mouse2", cat); Master master = new Master(cat); cat.Cry(); }
} |
.Net经典推荐面试题及答案
最新推荐文章于 2019-07-16 19:22:15 发布
.Net经典推荐面试题及答案
2009-03-06 12:36