読者です 読者をやめる 読者になる 読者になる

sironekotoroの日記

Perl と Mac の初心者の備忘録

すぐわかる オブジェクト指向 Perl 第10章 静的クラスの作成

9章はみるだけー

  • 9章で参考にしている Calender というモジュールが CPAN からダウンロードできないみたいなので、見るだけ。

やってきましたオブジェクト指向

  • 構造化プログラミングで再利用部分をサブルーチンにくくりだす:ok
  • 再利用部分をファイルで分けて、モジュール化する:ok
  • ファイルをまたいで、サブルーチンを呼び出す:ok
    • &package名::subroutin(@ARGV)
    • 受け側には 引数(@ARGV) だけがわたる
  • メソッド呼び出し:ok
    • package名->subroutin(@ARGV)
    • 受け側には、パッケージ名と@AGRV がわたる
    • 矢印記法で呼び出されたサブルーチンをメソッドと言う
    • メソッドを持っているパッケージをクラスという
    • パッケージ名は第一引数となり、これをインボカント(invocant)、呼出し元という
      • 呼び出すは invoke
  • クラスの継承
  • AUTOLOAD
    • 継承元をさかのぼってもメソッドが見つからなかった場合にカバーしてくれる
    • 存在しないメソッドの完全修飾名が $AUTOLOAD に入る
    • サブルーチンの実装忘れもこれで安心(違
  • 継承されるのはメソッドだけ
    • 変数は継承されない
  • use base qw(package) 、1モジュール1パッケージでスッキリ
    • あまり複雑な事はしないようにしよう・・・
  • is a
  • SUPER クラス

正直なところ

  • 継承とオーバーライドについてはok
  • でも、is a とかについては実際に使えるんかな、って気がする。
  • 正直、メソッド呼び出しをしてパッケージ名がサブルーチンに渡されるメリットが分からない。
  • 以上が今の到達地点
  • とりあえずこのまま進めて、分からなかったらまた戻ってこよう。