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());
}