5、 读程序写结果(难易度:较难;知识点:继承)(10分) class Program {
static void Main() {
A a = new B(); a.Fun();
Console.ReadKey(); }
public abstract class A {
public A() {
Console.WriteLine('A'); }
public virtual void Fun() {
Console.WriteLine(\ } }
public class B : A {
public B() {
Console.WriteLine('B'); }
public new void Fun() {
Console.WriteLine(\ } } }
6、 读程序写结果:(难易度:较难;知识点:继承)( static void Main() {
B bb = new B(); bb.F();
Console.ReadKey(); }
class A {
protected int x = 123; }
class B : A
10分) {
public void F() {
A a = new A(); B b = new B();
Console.WriteLine(b.x); } }
7、 读程序写结果(难易度:较难;知识点:继承)(10分) class Program {
static void Main(string[] args) {
MyClass y = new MyClass(); BaseClass x = y; x.i = 100;
Console.WriteLine(\ } }
class BaseClass {
public int i; }
class MyClass : BaseClass {
public new int i; }
8、 读程序写结果(难易度:较难;知识点:继承)(15分) public class VirtualInheritSample {
public static void Main() {
DerivedClass c = new DerivedClass(); c.Call(); } }
public class BaseClass {
public void A() {
Console.WriteLine(\ }
public virtual void B() {
Console.WriteLine(\ } }
public class DerivedClass : BaseClass {
public new void A() {
Console.WriteLine(\ }
public override void B() {
Console.WriteLine(\ }
public void Call() {
this.A(); this.B();
((BaseClass)this).A(); ((BaseClass)this).B(); } }
9、 读程序写结果(难易度:较难;知识点:继承)(
public abstract class A {
public A() {
Console.WriteLine('A'); }
public virtual void Fun() {
Console.WriteLine(\ } }
public class B : A {
public B() {
Console.WriteLine('B'); }
public new void Fun()
10分) {
Console.WriteLine(\ }
public static void Main() {
A a = new B(); a.Fun(); } }
10、 读程序写结果(难易度:较难;知识点:继承)(10分) class Father {
public void F() { Console.WriteLine(\
public virtual void G() { Console.WriteLine(\ }
class Son : Father {
new public void F() { Console.WriteLine(\
public override void G() { Console.WriteLine(\ }
static void Main(string[] args) {
Son b = new Son(); Father a = b; a.F(); b.F(); a.G(); b.G(); }
11、 写出程序的输出结果:(难易度:较难;知识点:继承)(10分) public class A {
public virtual void Fun1(int i) {
Console.WriteLine(i); }
public void Fun2(A a) {
a.Fun1(1); Fun1(5); } }
public class B:A {
public override void Fun1(int i)
}
{
base.Fun1(i+1); }
public static void Main() B b=new B(); A a=new A(); a.Fun2(b); b.Fun2(a); }
{
12、 阅读以下的代码:(难易度:较难;知识点:继承)(10分) abstract class A {
public abstract void printStr(string str); }
class B : A {
public override void printStr(string str) {
str = str + \重写的方法)\ Console.WriteLine(str); } }
public static void Main() {
B b=new B(); A a=b;
a.printStr(\打印\ b.printStr(\打印\ Console.ReadLine(); }
13、 读程序写结果(难易度:较难;知识点:继承)(10分) abstract class BaseClass {
public virtual void MethodA() {
Console.WriteLine(\ }
public virtual void MethodB() { } }
class Class1 : BaseClass {
public void MethodA()