• 关于c#笔试内测试题,


    1

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

             a)     虚方法必须有方法体,可以被子类重写

             b)     抽象方法不允许有方法体,且必须被子类重写

             c)      抽象方法必须在抽象类中,而虚方法可以在所有类中

             d)     在子类中重写抽象方法或虚方法,都需要用override关键字

    答案:c ,

    密封类和静态类中不能书写

    2) 分析以下使用抽象类的C#代码,其最终的运行结果是( )。

    public abstract class Class1

    {

        public void F()

        {

            Console.Write("1");

        }

        abstract public void ABS();

    }

    public class Class2 : Class1

    {

        public override void ABS()

        {

            Console.Write("3");

        }

        public Class2()

        {

            Console.Write("2");

        }

        static void Main()

        {

            Class2 objB = new Class2();

            objB.ABS();

        }

    }

             a)     12

             b)     21

             c)      13

             d)     23

    答案:d

    先调用构造,然后调用自身的ABS方法()

    3)下列代码的运行结果是( )。

    class Test

    {

        public void F()

        {

            Console.Write("A");

        }

    }

    class B : Test

    {

        Public  new void F()

        {

            Console.Write("B");

        }

        static void Main()

        {

            Test objA = new B();

            objA.F();

        }

    }

             a)     A

             b)     B

             c)      BA

             d)     AB

    答案:a

    这里不是多态,所以用父类变量保存子类对象,取的是父类的方法。哪怕父类方法使用Virtual关键字,子类没有Override就不会实现多态

    4)    分析如下C#程序,运行输出的结果是( )。

       注意是结构体

    public struct Size

        {

            public int x;

            public int y;

            public Size(int x, int y)

            {

                this.x = x;

                this.y = y;

            }

        }

     

        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

    答案:b

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

             a)     在单例模式中,允许通过new 构造实例

             b)     单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例

             c)      在C# 中,static 是实现单例模式的重要关键字

             d)     单例模式可以确保所有对象都访问唯一的实例

    答案;a

  • 相关阅读:
    shell脚本操作mysql通用脚本
    chfs共享系统搭建
    P6717 [CCO2018] Boring Lectures题解
    vim快捷命令
    第一个pnpm的工程
    js/react方法学习
    赵长鹏:我所遵循的 15 条处事原则
    《Unix&Linux系统编程》第五章学习笔记
    stat命令的实现mysate
    《Unix&Linux系统编程》第三章学习笔记
  • 原文地址:https://www.cnblogs.com/s122/p/8371117.html
Copyright © 2020-2023  润新知