第1、2章习题 您所在的位置:网站首页 静态私有变量可以被调用 第1、2章习题

第1、2章习题

2023-06-01 15:04| 来源: 网络整理| 查看: 265

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 实验室设备网 版权所有