CH3COOH(酢酸)のさくっと393

VB.NET(VS2003)でお仕事中.Windows Mobile大好きです。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  413  : 記事  0  : コメント  7803  : トラックバック  93

ニュース

CH3COOH(酢酸)の実験室 or SOFTBUILD

書庫

日記カテゴリ

パッケージの作成と利用

名前衝突を避ける為、アクセス制御するために、相互関係にある型は一般的にパッケージされます。

  • 型の間に関連性があるということが、誰にでも容易に判る。
  • 関連機能を提供しているクラスがどこにあるのか判る。
  • パッケージによって名前空間が作成されるので、名前衝突しない。
  • 同一パッケージ内の型からは無制限でアクセスを許可するが、パッケージ外からの型アクセスを制限する。

パッケージを作成する

publicでない全ての型は、パッケージプライベートと呼ばれる。package文を書かなかった場合、無名パッケージに入れられる。

パッケージに名前をつける

命名上のしきたり

納入先の会社のドメインが
http://ch3cooh.jp/
で、プロジェクト名がproject、機能名がfunctionだった場合、

package jp.ch3cooh.project.function;

みたく命名するらしい。

一般的には、組織内の慣習があるのでそれに従うべきだって。

パッケージメンバーを使用する

パッケージメンバーを限定名で参照する

helloworldパッケージにSuperClassクラスがあるとして、

package helloworld;
public class SuperClass {
    // メソッドとか
}

ch3coohパッケージのSakusanクラスから使用する場合は、下記の様なコードになります。

package ch3cooh;
public class Sakusan {
    helloworld.SuperClass superCls = new helloworld.SuperClass();
}

パッケージメンバーをインポートする

ch3coohパッケージのSakusanクラスからhelloworldパッケージのSuperClassクラスがを使用する場合は、完全限定名を指定して使用します。下記の様なコードになります。

package ch3cooh;
import helloworld.SuperClass;
public class Sakusan {
    SuperClass superCls = new SuperClass();
}

パッケージ全体をインポートする

ch3coohパッケージのSakusanクラスからhelloworldパッケージのSuperClassクラスがを使用する場合は、パッケージ全てをインポートしても使用出来ます。下記の様なコードになります。

package ch3cooh;
import helloworld.*;
public class Sakusan {
    SuperClass superCls = new SuperClass();
}

パッケージの見かけ上の階層について

package animal.dog.*;

に存在している型を使いたい場合、

import animal.*;

をインポートしても、パッケージ名は包含関係を表しているものではありませんので、
使用する事は出来ません。

名前の曖昧さ

Dogクラスと名前が被った場合、曖昧さを解決するためにパッケージを指定する必要があります。

投稿日時 : 2008年7月31日 19:19

コメント

No comments posted yet.

Post Feedback

タイトル
名前
Url:
コメント