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

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

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

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

@interface クラス名 ()

@end

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

 

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

 

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

関連記事:


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

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

  2. 対応がとても早くて、驚きました。
    梱包がとても綺麗で新品を購入したとは思えませんでした。
    ★ルイヴィトン★モノグラム★ノエ★巾着型ショルダーバッグ★M42224(旧型)★
    とてもよい品でした。
    ジャンク品に近い品を、破格値で購入したいと思って探していたところ、見つけたのがこのバッグでした。
    誰が見ても一目でブランドバックだとわかる、ヴィトンのバッグでよれよれの使い古しを購入するのが私の望みでした。若い頃からずっと使っていると言えるし、雨の日でも濡れてももったいなくありません。
    正直、にせものであっても、この価格ならあきらめもつくと考えていました。
    (大きく商売をしている質屋さんでも、にせものを本物として高価買取をして、そのまま直営店で売っているケースもあります)
    届いた商品を見てびっくりしました。
    思っていたよりもずっと状態が良くて、自分で使うならまだまだ十分使えます。
    それに、何よりも、本物のヴィトンだったことが一番うれしかったです。
    刻印、製造番号他、自分で確かめたところ、すべてのチェックで合格でした。
    新品とはいえ、4200円で本物のヴィトンが手に入るとは、思っていませんでした。
    実質1315円での購入でした。
    とても満足しています。
    届いた日の翌日から使っています。毎日使っています。
    若いときからずっと使っているのでよれよれになっていると言って、自慢しています。

コメントを残す

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

次の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="">