Re: [問題] 一系列的"I"開頭代表什麼意思?

作者: bantime (景)   2015-06-24 18:18:59
I interface 介面 通常拿來做接口
以下簡單範例
如果登入流程相同 可是資料取得方式不同或是檢驗方式不同
可以採用interface
先定義interface所需要的方法or存取子
然後繼承interface的class就要去實作
實做完就可以丟入寫好的流程中讓他跑
public interface ILogin
{
long GetLoginID();
bool CheckSomething(long lID);
}
public class FBLogin : ILogin
{
public long GetLoginID()
{
return 66666;//this is fb id
}
public bool CheckSomething(long lID)
{
return true;
}
}
public class GoogleLogin : ILogin
{
public long GetLoginID()
{
return 77777;//this is google id
}
public bool CheckSomething(long lID)
{
return true;
}
}
public static void Main()
{
bool bLoginSuccess = false;
if(true)
{
bLoginSuccess = IsLoginSuccess(new FBLogin());
}
else
{
bLoginSuccess = IsLoginSuccess(new GoogleLogin());
}
}
public static bool IsLoginSuccess(ILogin aILogin)
{
return aILogin.CheckSomething(aILogin.GetLoginID());
}
作者: nature23306 (pART)   2015-06-24 19:04:00
謝大大 特別打這麼一篇 這概念是不是和MainViewModel類似?
作者: cloudsan (趴千)   2015-06-24 19:43:00
不一樣,去看看繼承跟抽象化的概念
作者: conanist (QQ)   2015-06-24 22:57:00
你把它想成每部車都有油門,可是踩油門之後各家反應不一樣就是你實作的內容不一樣,油門=介面
作者: andymai (人生只有一次)   2015-06-25 09:43:00
拿電腦來說就是像各家顯卡廠商實做 pci-e 介面後,只要主機板有支援都可以插上去用

Links booklink

Contact Us: admin [ a t ] ucptt.com