第1、2章习题 | 您所在的位置:网站首页 › 静态私有变量可以被调用 › 第1、2章习题 |
2章习题
一、填空题 1、 面向对象的三大特征是_封装_____、继承______和__多态____。 2、 在C#中,可以使用关键字_class_____来创建类的实例对象。 3、 定义在类中的变量称为_属性_____,定义在方法中的变量称为___类 ___。 4、 面向对象程序设计的重点是_属性_____的设计。 5、 在静态类中,其内部的所有成员都必须是__类内 ____。 6、 类用于描述多个对象的共同特征,它是对象的_无限制 _____。 7、 被static关键字修饰的方法被称为_静态变量_____,它只能用_实例方法_____的形式被调用。 8、 在C#中,可以将类定义在另一个类的内部,这样的类称作_数据结构_____。 9、 属性是对__字段____的封装,此时在类中定义的字段用_private_____关键字修饰。 10、在C#中,除了使用构造方法来为属性赋初值,还可以使用__set___来为对象属性赋初值。 二、判断题 1、如果类的成员被private所修饰,该成员不能在类的外部被直接访问。 2、C#中的每个类都至少有一个构造方法用来初始化类中的成员。 3、声明构造方法时,不能使用private关键字修饰。 4、被static关键字修饰的字段或方法,可以通过对象来访问。 5、在内部类中不能访问外部类的成员。 三、选择题 1、类的定义必须包含在以下哪种符号之间? B A、方括号[] B、花括号{} C、双引号“” D、圆括号() 2、下面关于类的声明,正确的是? B A、 public void HH{…} B、 public void HH(){…} C、 public class void number{} D、 public class Car{…} 3、在以下什么情况下,构造方法会被调用? C A、 类定义时 B、 创建对象时 C、 调用对象方法时 D、 使用对象的变量时 4、下面对于构造方法的描述,正确的有哪些?(多选)ad A、方法名必须和类名相同 B、方法名的前面没有返回值类型的声明 C、在方法中不能使用return语句返回一个值 D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在 5、使用this调用的构造方法,下面的说法正确的是?(多选)ab A、使用this调用构造方法的格式为this([参数1,参数2…]) B、可以在构造方法中使用this调用其他的构造方法 C、使用this调用其他构造方法的语句必须放在第一行 D、在重载的构造方法中,不能使用this互相调用 6、下面选项中,哪些可以被static关键字修饰?(多选)ab A、字段 B、局部变量 C、成员方法 D、成员嵌套类 7、关于嵌套类描述,正确的是?(多选)bcd A、内部类是外部类的一个成员,可以访问外部类的成员 B、外部类可以访问内部类的成员 C、外部类与内部类的非静态成员可以重名 D、在内部类中不能声明静态成员,但内部类中可以直接引用外部类的静态成员 8、下面对于单例设计模式的描述,正确的是?(多选)bc A、类中的构造方法必须声明为私有 B、定义静态变量用来引用该类的实例对象 C、使用private修饰静态变量,禁止外界直接访问 D、定义返回该类实例的静态方法 9、请先阅读下面的代码 class Test { public Test() { Console.Write ("构造方法一被调用了"); } public Test(int x) : this() { Console.Write ("构造方法二被调用了"); } public Test(bool b) : this(1) { Console.Write ("构造方法三被调用了"); } public static void Main(string[] args) { Test test = new Test(true); } } 上面程序的运行结果为下列哪一项?d A、构造方法一被调用了 B、构造方法二被调用了 C、构造方法三被调用了 D、构造方法一被调用了、构造方法二被调用了、构造方法三被调用了 10、Outer类中定义了一个嵌套类Nesting,创建Nesting类实例对象时,以下代码正确的是?a A、Nesting nesting= new Nesting (); B、Outer. Nesting nesting = new Outer().new Nesting (); C、Outer. Nesting nesting = new Outer. Nesting (); D、Nesting nesting = new Outer. Nesting (); 四、程序分析题 阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。 代码一: class A { private int secret = 5; } class Test1 { public static void Main(string[] args) { A a = new A(); Console.WriteLine(a.secret++); Console.ReadKey(); } } 代码二: class Test2 { int x = 50; static int y = 200; public static void Method() { Console.WriteLine(x + y); } } class Program { public static void Main(string[] args) { Test2.Method(); } } 代码三: class Outer { public string name = "Outer"; public class Nesting { string name = "Nesting"; void ShowName() { Console.WriteLine(name); } } } class Program { public static void Main(string[] args) { Outer.Nesting() nesting = new Outer.Nesting(); Console.WriteLine(nesting.name); } } 五、简答题 1、简述构造方法的特点? 就是写一个个的类! 简述面向对象的三大特征? 封装就是隐藏对象的内部实现细节,仅公开接口供用户使用。 继承描述子类与父类之间的一种关系,通过继承,子类既保留了父类 原有的功能,又可以根据需求进行相应的扩展。 多态指的是多个对象对于同一个指令,有各自的理解,产生不同的行为。 六、编程题 1、请按照以下要求设计一个学生类Student,并进行测试。 要求如下: (1)Student类中包含姓名、成绩两个字段。 (2)分别给这两个字段定义自己的属性。 (3)Student类中定义两个构造方法,其中一个是无参的构造方法,另一个是接收两个参数的构造方法,分别用于为姓名和成绩属性赋值。 (4)在Main()方法中分别调用不同的构造方法创建两个Student对象,并为属性和性别赋值。 2、编写一个程序实现单例模式。 要求如下: (1)在类的内部创建一个该类的实例对象,并使用静态变量引用该对象。 (2)类的构造方法声明为私有。 (3)定义一个静态方法用于返回该类实例。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |