ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

いろんなコンピューター言語の覚え方:その12 プログラムの分割

2007-12-23 11:34:19 | 土日シリーズ

土日シリーズ「いろんなコンピューター言語の覚え方」
前回までで、1ファイルでプログラムを作る場合の話は終わりました。
今回は、複数ファイルに分割して、プログラムを作る場合についてです。




■複数のファイルのわけかた&引用の仕方

 Javaなどは、クラスごとに分けるときまって?ますけど、ほかの言語の場合、(CとかPHPとか)は、関数レベルで、すきに分割できます。

 問題は、分割した時、そのクラスや関数を使いたい場合です。
 これには、import(JAVAの場合)や、include(Cなどの場合)をして利用します(しなくてもできるときがあるが、原則)
 ただし、言語によっては、Cだと、includeしただけでなく、externをしないといけないとか、ほかにも約束事がある言語があります(includeといっても、書き方は言語によって違います)

 また、PHPやPerlでは、includeしたら毎回インクルードする命令と、1回だけインクルードする命令があります。




■変数の利用できる範囲と生存期間

 ここで問題になるのは、変数の利用できる範囲(スコープ)です。
 まあ、関数内に書いたら、関数内、これはいいんですけど、関数の外に書いた場合、そこから下の関数が使える、では、ほかのファイルの関数が使うには?っていう話とかです。Cだとexternですが、ほかの言語だと違います。

 また、その変数の生存期間も問題になります。

 関数が終わったら、消えてしまうのはいいのですが、staticすると、生き残っている(前の値が使える)っていうことに注意です。この場合、どこで初期化されるのか、というのが言語的には問題ですし、テスト的には、前の値がのこってて、ほんとに大丈夫か?排他制御とかする必要ある?ということを考えないといけません。




 ってことで、今回はおしまい。

 次回は総まとめです。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする