変数、メソッドの宣言とかのまとめ

入門書にはヘッダに宣言を書くように書いてある。
しかし、プライベートなメソッドの宣言ができないし、変数に「 @private」を付けても、このObjective-Cという言語はその変数にアクセスできるらしい。
オブジェクト指向なのにカプセル化できないという、とんでもない矛盾にぶつかったので、いろいろ調べてみた。(主に2ch)
一部自分のやり方で書いてあるとこもあるから、間違ってたりもっと良い書き方があれば教えてほすぃぃ。

外部のクラスからアクセス可能なもの
変数はヘッダにプロパティとして宣言する。
メソッドは普通に宣言。

隠蔽したいもの
実装ファイルに、

@interface クラス名 ()

@end

と記述し、この中で変数やメソッドを宣言する。
無名カテゴリってのを使ってるらしいけど、カテゴリを使ったことがないから詳しくはわからん。
普通importするのはヘッダファイルだから、実装ファイルの中の宣言は見えないということ。
Javaの「protected」みたいなことは、俺が普段使わないから調べてない。

 

おまけでimportについて。
標準のライブラリとかはヘッダでインポートしてもいいけど、自作のクラスとかのヘッダは実装ファイルでインポートした方がいいみたい。
確かに、importを書きまくったヘッダを他のクラスからインポートすると、めちゃくちゃに展開されそうだからなぁ。

 

Objective-Cに慣れてきた辺りでこれらを知ったから、すごい違和感を覚えながら書き直してた。
今は前の書き方の方が違和感あるけど。

関連記事:


One thought on “変数、メソッドの宣言とかのまとめ

  1. ヴィトンコピー品激安販売店2017新品大SALE
    ルイ・ヴィトンコピー品激安販売店の新品大SALEが開催します。
    ルイヴィトン人気コピー品、コピールイヴィトン新作、ルイヴィトンダミエコピー、ルイヴィトンモノグラムコピー、コピーブランド腕時計…
    いろいろ新品が続々登場します。バッグ、靴、帽子、スカーフ…
    お綺麗を展示ため、ぜひおすすめの逸品です。
    時間の制限がない、いつでもご愛用頂きます。
    ロレックススーパーコピーN級品 http://www.bagshop78.com/brandcopy-l-12-p-4.html

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre class="" title="" data-url=""> <span class="" title="" data-url="">