Java界面和Swift协议的比较
在这篇文章中所要写的主题。
Java 接口和 Swift 协议的对比
我写这篇文章的理由
– 基本情技術者考試準備
– 比較 Java 和 Swift 相似之處
代码示例(Java接口)
public class Main {
interface sampleInterface{
String sampleFunction(String a, String b);
}
public static void main(String[] args) throws Exception {
/* クラスに interface を実装する時は、implements と書く */
class A implements sampleInterface{
public String sampleFunction(String a, String b){
return "「" + a + "」と「" + b + "」はclassAに定義されたsampleFunctionの引数";
}
}
class B implements sampleInterface{
public String sampleFunction(String a, String b){
return "「" + a + "」と「" + b + "」はclassBに定義されたsampleFunctionの引数";
}
}
A a = new A();
B b = new B();
System.out.println(a.sampleFunction("c","d"));
System.out.println(b.sampleFunction("e","f"));
}
}
输出结果(Java)
「c」と「d」はclassAに定義されたsampleFunctionの引数
「e」と「f」はclassBに定義されたsampleFunctionの引数
示例代码(Swift 协议)
// プロトコル
protocol SampleProtocol{
func sampleFunction(_ a:String, _ b:String) -> String
}
// class A
class A:SampleProtocol{
func sampleFunction(_ a:String, _ b:String) -> String{
return "「\(a)」と「\(b)」はclassAに定義されたsampleFunctionの引数"
}
}
// class B
class B:SampleProtocol{
func sampleFunction(_ a:String, _ b:String) -> String{
return "「\(a)」と「\(b)」はclassBに定義されたsampleFunctionの引数"
}
}
var a = A()
var b = B()
print(a.sampleFunction("c","d"))
print(b.sampleFunction("e","f"))
输出结果(Swift)
「c」と「d」はclassAに定義されたsampleFunctionの引数
「e」と「f」はclassBに定義されたsampleFunctionの引数