阅读以下程序class A{public void F(){Console.Write(“A”);}}class B:A{public void F(){Console.Write(“B”);}}class Test{static void Main(){A a = new A();B b = new B();A c = b;a.F();b.F();c.F();}}以上程序运行后的结果是()
查看答案
阅读以下程序class A{public void F(){Console.Write(“A”);}public virtual void G(){Console.Write(“C”);}}class B:A{new public void F(){Console.Write(“B”);}public override void G(){Console.Write(“D”);}}class Test{static void Main(){B b = new B();A a = b;a.F();b.F();a.G();b.G();}}以上程序运行的结果是()
ABCD
B. ABDD
C. ABCC
D. BBCD
以下关于重写方法的说法不正确的是()
A. 重写方法只能重写基类的虚方法。
B. 重写方法可以重写基类的非虚方法。
C. 只有在包含了override修饰符时,一个方法才能重写另一个方法。
D. 如果没有包含override修饰符,声明一个与从基类继承而来的方法具有相同签名的方法只会隐藏被继承的基类方法。
阅读以下程序class A{public virtual void G(){Console.Write(“A”);}}class B:A{new private void G(){Console.Write(“B”);}}class C:B{public override void G(){Console.Write(“C”);}}class Test{static void Main(){A a = new A();B b = new B();C c = new C();A d = c;a.G();b.G();c.G();d.G();}}以上程序运行后的结果是()
ABCC
B. ABCA
C. ABCB
D. ABBC
阅读以下程序class A{public virtual void G(){Console.Write(“A”);}}class B:A{public virtual void G(){Console.Write(“B”);}}class C:B{public override void G(){Console.Write(“C”);}}class Test{static void Main(){A a = new A();B b = new B();C c = new C();A d = c;a.G();b.G();c.G();d.G();}}以上程序以下后的结果是()
ABCC
B. ABCB
C. ABCA
D. ABBC