zoukankan      html  css  js  c++  java
  • 深入.NET平台和C#编程的错题

    29)有如下C# 代码,则下面选项中说法正确的是(BC)。
    public class A { }   Person
    public class B : A { }  Student
    A a = new A();
    B b = new B();
    a) 表达式a is B的值为true
    b) 表达式b is A的值为true
    c) 表达式a as B的值为null
    d) 表达式b as A的值为null

    26) 在C#中,下面是方法的重载的是(C)。 

    a) public string Test(int x, int y){ …}和public string Test(int a, int b){ …}同一个方法
    b) public string Test1(int x, int y){ …}和public string Test2(int x, int y){ …}
    c) public string Test(int x, int y){ …}和public string Test(int a){ …}
    d) public string Test(int x, int y){ …}和public int Test(int x, int y){ …}


    25) 关于如下C#代码的说法中,正确的是(D)。
    public class Test    //⑴
    {
        private static int Max = 100;    //⑵ 成员变量:
        public Test(int max)
        {
         
            Max = max;    //⑶
        }
        public int GetMax()
        {
            return Max;    //⑷
        }

    a)在⑴行中必须将Test类定义为静态类
           静态变量可以不出现在静态类中
    b) 在⑵中不能将静态成员Max定义为private的
    c) 在⑶中不能给静态成员Max赋值
    d) 在⑷中可以使用静态成员Max


    24) 关于如下C#的代码,说法正确的是(C);
    public class A
    {
        string S1;
        protected string S2;
        protected void M1()
        {

         }

    }
    public class B : A
    {
       
        protected string S3;
    }


    a) 在A中可以访问S3  解析(父类中不可以访问子类受保护成员)
    b) 在B中可以访问S1  解析( 如果类中变量没哟访问修饰符修饰,默认访问修饰符是private)
    c) 在B中可以访问S2   解析(可以:因为其访问修饰符是protected类型)
    d) 在M1( ) 中可以访问S3   解析(不可以在父类方法中访问子类字段)

    23) 在C#中,下面关于结构的说法中,正确的是(C)。 

    a) 结构和类都是引用类型  
    b) 定义结构的变量必须用new 
    c) 不能在定义结构时给结构的成员设置初始值
    d) 结构中的整型成员被自动初始化为1    自动初始化为0


    22) 下面不是C#中类的访问修饰符的是(AD)。 
     a) protected
     b) internal
     c) public
     d) internal protected

    Public在任何位置都可以访问,甚至是跨程序集都可以访问,
    Internal只能在当前程序集中的任何位置访问,出了当前程序集,就无法访问。
    在定义内部类的时候可以使用A和D作为类的访问修饰符

    21) 下面关于单例模式说法错误的是(A)。 

     a) 在单例模式中,允许通过new 构造实例
     b) 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例
     c) 在C# 中,static 是实现单例模式的重要关键字
     d) 单例模式可以确保所有对象都访问唯一的实例

    19)分析如下C#程序,运行输出的结果是( B)。
       注意是结构体
    public struct Size
        {
            public int x;
            public int y;
            public Size(int x, int y)
            {
                this.x = x;
                this.y = y;
            }
        }

    16) C#中的多态不能通过(D )实现。 

     a) 方法重载
            方法重载多态的体现!

     b) 抽象类
     c) 虚方法
     d) 密封类 密封类都无法被继承,何来多态呢?因为我们知道多态的前提是继承。
        class Test
        {
            static void Main()
            {
                Size size1 = new Size(8,10);
                Size size2 = size1;
                size1.y = 200;
                Console.WriteLine("{0} | {1}",size1.y,size2.y);
            }
        }
     
     a) 200 | 200
     b) 200 | 10
     c) 10 | 10
     d) 10 | 200


    11) 现有类“c1”,它所在的命名空间为“a.b”,则下列说法中错误的是(D )。 
     a) 不同命名空间下仍可存在名称为c1的类
     b) 不同命名空间下使用c1时,可以通过“using a.b”引入命名空间
     c) 同一命名空间下的类,使用c1时不需要引入c1的命名空间
     d) 不同命名空间下使用c1时,不可以直接通过“a.b.c1”的方式使用
      D选项可以但是麻烦

    9) 在开发C#程序过程中,会大量地使用类和对象,其使用方法不包括( BC)。 

     a) 将类实例化为对象
     b) 将对象实例化为类
     c) 通过类访问非静态属性或方法
     d) 通过对象访问非静态属性或方法


    3) 下列关于虚方法(virtual)和抽象方法(abstract)的描述中错误的是( C)。 

     a) 虚方法必须有方法体,可以被子类重写
     b) 抽象方法不允许有方法体,且必须被子类重写
     c) 抽象方法必须在抽象类中,而虚方法可以在所有类中
           密封类和静态类中不能书写
     d) 在子类中重写抽象方法或虚方法,都需要用override关键字


    2) 在C#中,下列关于简单工厂设计模式的说法不正确的是( A )。 
    a) 简单工厂产生的对象都是静态对象
    对象没有静态和动态之分
    b) 创建产品的方法返回类型都是父类
    c) 使用该模式解决了代码中大量使用new 的问题
    工厂模式:
       单例模式
       3个:
        简单工厂
        工厂模式
        抽象工厂模式
      Public  class Factory
    {
       Public static Animal CreateProduct(string type)
        {
            Animal animal=null;
             Return animal;
         }
    }
    原则:开闭原则(对修改关闭,对添加开放)
     d) 简单工厂的缺点是对修改不封闭,新增加产品就需要修改工厂


    1) 以下关于序列化和反序列化的描述错误的是( C)。 

     a) 序列化是将对象的状态存储到特定存储介质中的过程
     b) 二进制格式化器的Serialize()和Deserialize()方法可以分别用来实现序列化和反序列
    化过程
    解析:BinaryFormatter
     c) 如果一个类可序列化,则它的子类和包含的各成员对象也一定可序列化
       问题出在了子类,如果子类压根不能进行序列化操作,则会抛出异常
     d) 标识一个类可以序列化要使用[Serializable]

  • 相关阅读:
    DML数据操作语言练习
    表的操作练习
    20151218--地区导航习题
    20151217--Ajax的一点补充
    02151216--Ajax
    json(转)
    Node.js(转) -- 临时来说还看不懂!
    20151113--JSTL
    20151210--MVC
    链表(转)
  • 原文地址:https://www.cnblogs.com/fl72/p/8360008.html
Copyright © 2011-2022 走看看