インターフェース

こんにちは。よしときです。 今回はインターフェースです。前回習ったときはやたら便利なイメージを持ったのですが、それ以降使っていないのでこれを機によーく復習してみました。 今回はソースをSyntaxHighlighterというのWordPressのプラグインを使って書いてみたいのでソース多めですw さて早速ですが、まずは今回練習用に仮のインターフェースを作りました。 コメント欄はenumを使わないときに作ったものですが使ってないのでコメント行きです。 そしてこれを使ったクラスを作ります。 です。 特筆すべきところはありませんが、ちょこちょこ自分がコメントを残しているところもそのまま載せました。 あとからよんで間違えているところはないか、勘違いしているところはないかと確認するためです。 もし間違えているなぁという記述ありましたら教えていただけたら幸いです。 さぁ今回これらを使って勉強して学んだことは

インターフェースの変数

インターフェースはインスタンスを作ることはできません。これはなんとなくイメージがつきました。 しかし、インターフェース型の変数を使うことが出来る。これがよくわかりませんでした。 のような感じです。 MyNumberクラスはDebugPrintableインターフェースを実装しているので MyNumberのインスタンスは DebugPrintable型のobjに代入できるのです。 んーーーーこれがすごく悩みました。というか未だに毎回クラスとかメソッドとか参照型とか考えながらでないとイメージできないので一つ一つ考えてみていかないと分からなくなってしまいます。 でもしっかり区切って考えることでしばらく眺めていて分かってきました。 試行錯誤の故にいろんなパターンでそれぞれのメソッドを使ってみたソースです。お恥ずかしいですが 結果は MyNumberのインスタンス:aの値は123です。 MyNumberのインスタンス:aの値は123です。 MyNumberのインスタンス:aの値は123です。 MyFileReaderのインスタンス:ファイル名はinput.txtです MyNumberのインスタンス:aの値は123です。 MyNumberのインスタンス:aの値は123です。 のようになります。 まぁどうってことはないんですがここでしっかり復習できてよかったと思います。 今回はソースコードをSyntaxHighlighterで書けるということが知れて楽しくて沢山使ってしまいました!     おまけ 自分が学習している本にはちょっとした会話が挟まれるのですがそれが面白かったので引用します
先生「人生の目的は「愛」ですね」 生徒「ど、どうしたんですか。急に」 先生「でも、「愛」をどのように実践するかは、私たちに委ねられているのです。私たちは、「愛」というインターフェースの実装クラスなのです。」 生徒「ふうん」
  もう、、突っ込みどころが多すぎてすごくニヤニヤしてしまいましたw

id-entity.jp

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です