Шаг 26 - Переопределение методов при наследовании

В результате наследование часто необходимо переопределить функцию, которая былa в базовом классе.

Visual C++.Net
Visual Basic.Net
CSharp

Visual C++.Net

#using <mscorlib.dll>

using namespace System;

class  CMyClass
{
public:
	virtual void Test()
	{
		Console::WriteLine("CMyClass Test"); 
	}
};

class CMyClassNew :  public CMyClass
{
public:
	virtual void Test()
	{
		Console::WriteLine("CMyClassNew Test"); 
	}
};

int main(void)
{
	CMyClassNew cm;
	cm.Test(); 
	Console::Read(); 
}

Visual Basic.Net

Module Module1
	Class CMyClass
		Public x As Integer
		Public Overridable Sub Test()
			MsgBox("CMyClass")
		End Sub
	End Class

	Class CMyClassNew
		Inherits CMyClass
		Public Overrides Sub Test()
			MsgBox("CMyClassNew")
		End Sub
	End Class

	Sub Main()
		Dim cm As New CMyClassNew()
		cm.Test()
	End Sub

CSharp

namespace ConsoleApplication2
{
	using System;

	class CMyClass
	{
		public virtual void Test()
		{
			Console.WriteLine("CMyClass"); 
		}
	}

	class CMyClassNew : CMyClass 
	{
		public virtual void Test()
		{
			Console.WriteLine("CMyClassNew"); 
		}
	}

	public class Class1
	{
		public static int Main(string[] args)
		{
			CMyClassNew cm = new CMyClassNew();
			cm.Test(); 
			Console.Read(); 
			return 0;
		}
	}
}

Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 12.07.2002