[Swift] Protocol
前に独自のセキュリティキーボードを作成するときにプロトコルを使用し、他のファイルにデータを渡すために重要に見えます.そして、これが何なのか分からないので、知っておく必要があると思い、グーグルゲームを一生懸命やりました.
契約とは?
アップルの公式ドキュメントで定義されているprotocolの定義は以下の通りです.
"A protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality."
...?
特定のタスクまたは機能を実装する方法とその他の要件の集合?
だからもう一度探してみてください.一般的な開発者のブログではそう言っています.
Javaのインタフェースとよく似ています
Javaのインタフェース?
私は部隊でjavaの本を買ったことがあるので、本をめくって、インタフェースが何なのかを見ました.
例えば、ソフトウェアを開発します.しかし、iOSではなくアプリケーションを開発し、アンドロイドシステムに使用するという.
1人の開発者が開発し、むやみに開発した場合、2つのソフトウェアの結果は完全に一致していますか?また、今後メンテナンスを行うと、さらに複雑になります.
だから.
機能別に分類
機能によるメソッドの宣言
機能に基づいて変数を決定します.
このように基準を定めると,プラットフォームにかかわらず,プログラムを一貫した方法で使用したり,プログラムを記述したりすることができる.つまり、「インタフェースを統一した」ということです.ということです.
また,インタフェースは,複数のクラスで使用されるフィールドとメソッドを一致させるための説明のようである.つまり、実際に存在するオブジェクトではないため、インタフェースにオブジェクトを作成することはできません.
したがって、インタフェースでフィールドを宣言することは、オブジェクトの作成にかかわらず、使用可能な
プロトコルの基本形式
プロトコルの基本形式は次のとおりです.
プロトコル実装
プロトコルでは、プロトコルに名前とタイプ、および
また、メソッドを定義するときに、関数名と戻り値を指定し、{}を書かないことができます.次にmutatingキーワードを使用して、インスタンスの変更可能性を表すことができます.△価格タイプでしか使えないそうですが、これが何なのかはまだ分かりません.
Javaの本を見てこれを見て本当にインタフェースに似ています
今度は代表によく勉強してから書きます.
参考資料:
きょうは常識を交わす
李東健ブログ-プロトコル
Javaプログラミングを初めて使用-呉政任
契約とは?
アップルの公式ドキュメントで定義されているprotocolの定義は以下の通りです.
"A protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality."
...?
特定のタスクまたは機能を実装する方法とその他の要件の集合?
だからもう一度探してみてください.一般的な開発者のブログではそう言っています.
Javaのインタフェースとよく似ています
Javaのインタフェース?
私は部隊でjavaの本を買ったことがあるので、本をめくって、インタフェースが何なのかを見ました.
例えば、ソフトウェアを開発します.しかし、iOSではなくアプリケーションを開発し、アンドロイドシステムに使用するという.
1人の開発者が開発し、むやみに開発した場合、2つのソフトウェアの結果は完全に一致していますか?また、今後メンテナンスを行うと、さらに複雑になります.
だから.
機能別に分類
機能によるメソッドの宣言
機能に基づいて変数を決定します.
また,インタフェースは,複数のクラスで使用されるフィールドとメソッドを一致させるための説明のようである.つまり、実際に存在するオブジェクトではないため、インタフェースにオブジェクトを作成することはできません.
したがって、インタフェースでフィールドを宣言することは、オブジェクトの作成にかかわらず、使用可能な
static
として宣言する必要があることを意味します.プロトコルの基本形式
プロトコルの基本形式は次のとおりです.
protocol 프로토콜 이름{
//프로토콜 정의를 작성하고
}
また,このプロトコルを用いるには,構造体,クラス,列挙型などから継承するように,コロンの後に記述することができる.複数のクラスまたはスーパークラスがある場合は、カンマで区切ります.struct aStruct: AProtocol, BProtocol{
// 구조체
}
class aClass : Superclass, AProtocol, BProtocol{
// 클래스 정의
}
そうです.プロトコル実装
プロトコルでは、プロトコルに名前とタイプ、および
get
、set
を明記する必要があります.(javaのgetter、setterの概念と同じでjavaと非常に似ています)また、専門家は常にvar
と宣言する必要があります.protocol Student{
var score:Int{get set}
var name:String{get}
}
また、このプロトコルのタイプを使用するには、プロトコルを実装する必要があります.class Harry: Student{
var studentscore :Int = 0
var score:Int {
get {
return studentscore
}
set {
studentscore = 100
}
}
var name: String = Harry
}
そうです.また、メソッドを定義するときに、関数名と戻り値を指定し、{}を書かないことができます.次にmutatingキーワードを使用して、インスタンスの変更可能性を表すことができます.△価格タイプでしか使えないそうですが、これが何なのかはまだ分かりません.
protocol Person{
static func speaking()
func doing()
mutating func running()
}
class Harry:Person{
var heartrate = 80
static func speaking(){
print("내 이름은 Harry입니다.")
}
func doing(){
print("나는 지금 쉬는중이야.")
}
mutating func running(){
heartrate += 50
}
そうです.Javaの本を見てこれを見て本当にインタフェースに似ています
今度は代表によく勉強してから書きます.
参考資料:
きょうは常識を交わす
李東健ブログ-プロトコル
Javaプログラミングを初めて使用-呉政任
Reference
この問題について([Swift] Protocol), 我々は、より多くの情報をここで見つけました https://velog.io/@sossont/iOS-어플-만들기-Protocolテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol