domenica 5 luglio 2009

How To: Abstract Method C#

In questo esempio, sono rappresentate due classi una nominata Test e l'altra TestAbstract.

La prima è una semplice classe astratta con un metodo astratto (e quindi senza corpo) e un metodo virtuale con corpo ed ereditabile.

la seconda estende la prima.


public abstract class Test
{
public abstract void testAbstract();

public virtual void testVirtual()
{
Console.WriteLine("Test:step 1");

}
}

public class TestAbstract : Test
{
public override void testAbstract()
{
Console.WriteLine("TestAbstract:step 1");
}

public override void testVirtual()
{
base.testVirtual();
Console.WriteLine("TestVirtual:step 2");
}
}

public class useAbstract
{
public void DoTest()
{
Test tA = new TestAbstract();

tA.testAbstract(); //TestAbstract:step 1

tA.testVirtual(); //Test:step 1 | TestAbstract:step 1
}
}


Mentre la terza classe è il caso d'uso, nel commento è riportato il flusso dell'output.

Nessun commento: