Use of interfaces in .NET

xiaoxiao2021-03-06  14

Namespace ConsoleApplication1

{

Public interface IVEHICLE

{

Void start ();

Void Stop ();

Void turn ();

}

Public Class Vehiclebase: IVEHICLE

{

Void IVEHICLE.START ()

{

Console.writeline ("Vehiclebase: IveHicle.start.");

}

Public Virtual Void Start ()

{

Console.writeline ("Vehiclebase: start.");

}

Public void stop ()

{

Console.writeline ("Vehiclebase: STOP.");

}

Public Virtual Void Turn ()

{

Console.writeline ("Vehiclebase: Turn.");

}

}

Public Class Car: Vehiclebase

{

Public override void start ()

{

Console.writeline ("Car: start.");

}

Public new void stop ()

{

Console.writeline ("Car: stop.");

}

Public Override void Turn ()

{

Console.writeline ("Car: Turn.");

}

}

Public Class Benz: Car, Ivehicle

{

Public override void start ()

{

Console.writeline ("Benz: start.");

}

Public new void stop ()

{

Console.writeline ("Benz: STOP.");

}

Public new void turn ()

{

Console.writeline ("Benz: Turn.");

}

}

Class Program

{

Static void main (string [] args)

{

Ivehicle v;

Vehiclebase vb;

Car Car;

Benz Bz;

Bz = new benz ();

v = Bz;

VB = Bz;

Car = Bz;

v.turn ();

vb.turn ();

Car.turn ();

Bz.Turn ();

Console.writeline ("");

v.start ();

vb.start ();

Car.start ();

Bz.Start ();

Console.read ();

}

/ *

RESULT:

IF class beenz was defined as:

Public Class Benz: Car, Ivehicle

{

Public new void start ()

{

Console.writeline ("Benz: start.");

}

Public new void stop ()

{

Console.writeline ("Benz: STOP.");

}

Public new void turn ()

{

Console.writeline ("Benz: Turn.");

}

}

The Result IS:

Benz: Turn.

Car: turn.

Car: turn.

Benz: Turn.

Benz: start.

Car: start.

Car: start.benz: start.

IF class benz was defined as:

Public Class Benz: Car

{

Public new void start ()

{

Console.writeline ("Benz: start.");

}

Public new void stop ()

{

Console.writeline ("Benz: STOP.");

}

Public new void turn ()

{

Console.writeline ("Benz: Turn.");

}

}

The Result IS:

Car: turn.

Car: turn.

Car: turn.

Benz: Turn.

Vehiclebase: Ivehicle.start.

Car: start.

Car: start.

Benz: start.

IF class benz was defined as:

Public Class Benz: Car, Ivehicle

{

Public override void start ()

{

Console.writeline ("Benz: start.");

}

Public new void stop ()

{

Console.writeline ("Benz: STOP.");

}

Public new void turn ()

{

Console.writeline ("Benz: Turn.");

}

}

The Result IS:

Benz: Turn.

Car: turn.

Car: turn.

Benz: Turn.

Benz: start.

Benz: start.

Benz: start.

Benz: start.

* /

}

}

转载请注明原文地址:https://www.9cbs.com/read-49449.html

New Post(0)