Я пытаюсь создать простой шаблон фабрики. Ниже приведен пример кода:
Мобильный:
namespace SimpleFactory
{
public interface IMobile
{
void Hello();
}
}
IPhone:
namespace SimpleFactory
{
public class Iphone : IMobile
{
public void Hello()
{
Console.WriteLine("Hello, I am Iphone!");
}
}
}
Nokia
namespace SimpleFactory
{
public class Nokia : IMobile
{
public void Hello()
{
Console.WriteLine("Hello, I am Nokia!");
}
}
public void NokiaClassOwnMethod()
{
Console.WriteLine("Hello, I am a Nokia class method. Can you use me
with Interface");
}
}
MobileFactory:
namespace SimpleFactory
{
public class MobileFactory
{
public IMobile GetMobile(string mobileType)
{
switch (mobileType)
{
case "Nokia":
return new Nokia();
case "iPhone":
return new Iphone();
default:
throw new NotImplementedException();
}
}
}
}
Программа:
namespace SimpleFactory
{
class Program
{
static void Main(string[] args)
{
MobileFactory factory = new MobileFactory();
IMobile mobile = factory.GetMobile("Nokia");
mobile.Hello();
mobile.NokiaClassOwnMethod();
}
}
}
Я хотел бы получить доступ к методу NokiaClassOwnMethod в Nokia и Iphone. Могу ли я получить доступ к методу NokiaClassOwnMethod из класса Nokia или Iphone. Если нет, то почему? (Я могу добавить этот метод NokiaClassOwnMethod в интерфейс и получить к нему доступ. Но у меня вопрос: как я могу получить доступ к собственным методам класса?)