Aug 05
2009
Interface névütközés
Filed Under (Uncategorized) by nameless on 05-08-2009
Névütközés feloldása explicit interfészimplementációval:
using System;
namespace egyformaInterfacek
{
#region Interfacek
interface IAutoSebesseg
{
void Kiir();
}
interface IMotorSebesseg
{
void Kiir();
}
interface IBuszSebesseg
{
void Kiir();
}
interface IBicikliSebesseg
{
void Kiir();
}
#endregion
#region Interfacek megvalositasa
class JarmuvekSebessege : IAutoSebesseg, IBicikliSebesseg, IBuszSebesseg, IMotorSebesseg
{
//Ez autómatikusan privát, mivel ha úgy hívnánk meg akkor nem lehetne eldönteni melyiket is akarjuk kiírni
void IAutoSebesseg.Kiir()
{
Console.WriteLine("320km/h");
}
void IBicikliSebesseg.Kiir()
{
Console.WriteLine("Attol fugg ki hajtja");
}
void IBuszSebesseg.Kiir()
{
Console.WriteLine("60km/h");
}
void IMotorSebesseg.Kiir()
{
Console.WriteLine("290km/h");
}
}
#endregion
class MainClass
{
public static void Main()
{
var sebesseg = new JarmuvekSebessege();
((IAutoSebesseg)sebesseg).Kiir();
((IBicikliSebesseg)sebesseg).Kiir();
((IBuszSebesseg)sebesseg).Kiir();
((IMotorSebesseg)sebesseg).Kiir();
Console.ReadKey();
}
}
}
