「Swift5」プロトコルを定義して利用するサンプル
環境
Swift version 5.2.3 (swift-5.2.3-RELEASE)
Target: x86_64-unknown-linux-gnu
書式
protocol プロトコル名 {
func 関数名A()
func 関数名B(引数:データの型)
}
class クラス名: プロトコル名{
func 関数A(){処理コード}
func 関数B(引数:データの型){処理コード}
}
protocol プロトコル名 {
func 関数名A()
func 関数名B(引数:データの型)
}
class クラス名: プロトコル名{
func 関数A(){処理コード}
func 関数B(引数:データの型){処理コード}
}
protocol プロトコル名 { func 関数名A() func 関数名B(引数:データの型) } class クラス名: プロトコル名{ func 関数A(){処理コード} func 関数B(引数:データの型){処理コード} }
使用例
//プロトコルの定義
protocol InterA {
func funA()
func funB(username: String, addr: String)
}
//プロトコルを実装
class InterAA: InterA {
//メソッドfunAを実装
func funA () {
print("メソッドfunAを呼び出す--東京")
}
//メソッドfunBを実装
func funB(username: String, addr: String) {
print("メソッドfunBを呼び出す--"+username + "&" + addr + " BB")
}
}
//InterAAのインスタンス生成
let cft = InterAA()
//funAを呼び出します
cft.funA()
//funBを呼び出します
cft.funB(username: "山田 太郎", addr: "大阪")
//プロトコルの定義
protocol InterA {
func funA()
func funB(username: String, addr: String)
}
//プロトコルを実装
class InterAA: InterA {
//メソッドfunAを実装
func funA () {
print("メソッドfunAを呼び出す--東京")
}
//メソッドfunBを実装
func funB(username: String, addr: String) {
print("メソッドfunBを呼び出す--"+username + "&" + addr + " BB")
}
}
//InterAAのインスタンス生成
let cft = InterAA()
//funAを呼び出します
cft.funA()
//funBを呼び出します
cft.funB(username: "山田 太郎", addr: "大阪")
//プロトコルの定義 protocol InterA { func funA() func funB(username: String, addr: String) } //プロトコルを実装 class InterAA: InterA { //メソッドfunAを実装 func funA () { print("メソッドfunAを呼び出す--東京") } //メソッドfunBを実装 func funB(username: String, addr: String) { print("メソッドfunBを呼び出す--"+username + "&" + addr + " BB") } } //InterAAのインスタンス生成 let cft = InterAA() //funAを呼び出します cft.funA() //funBを呼び出します cft.funB(username: "山田 太郎", addr: "大阪")
実行結果
$ swift 26.swift
メソッドfunAを呼び出す–東京
メソッドfunBを呼び出す–山田 太郎&大阪 BB