甲府方重信Blog

...Shigenobu Koufugatas Blog

  • Increase font size
  • Default font size
  • Decrease font size
Error
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
Home 業務日誌 Adaプログラミング Adaチュートリアル セクション12.5 - (オブジェクト指向のための)アクセス・パラメーター

Adaチュートリアル セクション12.5 - (オブジェクト指向のための)アクセス・パラメーター

E-mail Print PDF

セクション12.5 - (オブジェクト指向のための)アクセス・パラメーター

オブジェクソ指向のシステム開発では、しばしば、プログラマーはタグ付けされた型にアクセス値を介して値を渡したくなるものです。(タグ付けされた型についてはレッスン7で議論しました). Ada 95は、アクセス型を使用してオブジェクト指向システムの構築を助けるために、「access」と呼ばれる新しい擬似モードを追加しました。

記憶を呼び起こしてもらえれば、サブプログラムに対する各引数は、inin outoutの各モードを取ることになっています。プログラマーは、この代わりにキーワード「access」をモードとして使用することが出来ます。例を見てみましょう。

 procedure Get(Agent : access Occupant; Direct_Object : access Occupant'Class);

そこで、この例では実際はどのような意味なのでしょうか。以下に回答を説明します。

  • 通常のタグ付けされた型が「accessモード」となった際は、入力引数(この場合はAgent)は与えられた型(この場合はOccupant)のアクセス値でなければなりません。より重要なこととしては、このプロシージャーは、上書きすることが可能です。そして、アクセスされるオブジェクトの型は、サブプログラムが呼び出されるときに決定されるのです。このようにすれば、私たちはOccupantの継承に対して「Get」と呼ばれる別のサブプログラムを作成することが可能となります。そしてまた、このサププログラムGetは、ここで定義されたGetを上書きしたものとなります。これはオブジェクト指向言語の本質的な部分、つまり私たちは、現在のデータの値を使用して、与えられたプログラムを呼び出すことが可能になります。アクセスパラメーターによって、私たちはアクセス値を使用して呼び出し先を変えることが出来るのです。
  • クラス型に「accessモード」が適用された場合は、入力引数(この場合はDirect_Object)は与えられた型(この場合はOccupant)のアクセス値、もしくはその継承先の何かでなければなりません。この場合、私たちはこの引数によって、呼び出し先を変えることはありません。なぜなら、継承先の何かがこのサブプログラムに対して実行されるからです。このケースでは、アクセス・パラメーターは、特定のアクセス型だけではなく、幅広い型を受け入れることが出来ます。

アクセス・パラメータに対しては重要な制限が存在します。それは、null値は許されないということです。もしプログラマーがnull値を許可したいのなら、通常のアクセス型に、in、out、in outモードを使用してください。

もう少し前後関係が分からないと、アクセス・パラメーターについて理解するのは難しいのです。そこで、私たちはレッスン18までより詳細な議論を延期することにします。そこで私たちはアクセス・パラメーターの例について見ていきます。現在のところ、プログラマーが理解しておく必要があるのは、プログラマーがアクセス型とオブジェクト指向プログラミングを使用するなら、恐らく「access」擬似モードを使用したくなるであろう、という点です。

出典: http://www.adahome.com/Tutorials/Lovelace/s12s5.htm

Last Updated on Monday, 09 April 2012 10:46  

ニュース速報

一般向けのLinuxセキュリティー講座の3回目

 

1、Apache、メールサーバ、BINDなどのサービスのセキュリティ

2、SSHの詳細、SSLの仕組みなど

3、iptables

4、IDSの解説、tripwireの設置演習

5、rootkit対策

などの授業であった。

受講生は8名。

演習実施中に、来週のセキュリティーサーバー構築演習に必要なCentOS4.7のメディアを確認していたら、なんと、

4.7は、ネットからコンポーネントがなくなっていてネットワークインストールができなくなっていた。

急いで、CentOS 4.8のメディアを作成し、ネットワークインストールの環境を作ることに。

授業後、ネットワークインストールの確認をしていたら、帰宅が遅くなってしまった。ひやひや。