Введение в программирование

       

и тип ссылки совпадают CA


using System; namespace MyDerriv1 { class Class1 { static void Main(string[] args) { // Тип объекта и тип ссылки совпадают CA var1; var1=new CA(); // Вызывается метод класса CA Console.WriteLine (var1.F1()); // Вызывается метод класса CA Console.WriteLine (var1.F2()); // Тип объекта - CB , а тип ссылки - CA CA var2; var2=new CB(); // Вызывается метод класса CA Console.WriteLine (var2.F1()); // Вызывается метод класса CB Console.WriteLine (var2.F2()); } } } // Класс CA using System; namespace MyDerriv1 { public class CA { public CA() { } public int F1() { return 1; } public virtual string F2() {return "Метод F2 класса CA";} } } // Класс CB using System; namespace MyDerriv1 { public class CB : MyDerriv1.CA { public CB() { } public int F1() {return 2; } // Переопределение виртуального метода F2 public override string F2() { return "Метод F2 класса CB"; } } }
Листинг 16.1.
Закрыть окно





using System;

namespace MyDerriv1

{

class Class1

{

static void Main(string[] args)

{

// Тип объекта и тип ссылки совпадают

CA var1; var1=new CA();



// Вызывается метод класса CA

Console.WriteLine (var1.F1());

// Вызывается метод класса CA

Console.WriteLine (var1.F2());

// Тип объекта - CB , а тип ссылки - CA

CA var2; var2=new CB();

// Вызывается метод класса CA

Console.WriteLine (var2.F1());

// Вызывается метод класса CB

Console.WriteLine (var2.F2());

}

}

}

// Класс CA

using System;

namespace MyDerriv1

{

public class CA

{ public CA() { }

public int F1() { return 1; }

public virtual string F2()

{return "Метод F2 класса CA";}

}

}

// Класс CB

using System;

namespace MyDerriv1

{ public class CB : MyDerriv1.CA

{

public CB() { }

public int F1() {return 2; }

// Переопределение виртуального метода F2

public override string F2()

{ return "Метод F2 класса CB"; }

}

}


Содержание раздела