PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
3460 98/09/30 18:46:44 ありがとうございます。 By まこと
3459 98/09/30 16:42:10 RE:RE:PB6: 書き忘れです(^^; By てとらぽっと
3457 98/09/30 15:29:38 RE: 継承で開発効率を上げて... By てとらぽっと
3455 98/09/30 15:25:59 RE:PB6: 継承について教えて下さい。 By てとらぽっと
3453 98/09/30 13:59:58 RE:PB6: 継承について教えて下さい。 By こてちゅ
3452 98/09/30 13:27:12 PB6: 継承について教えて下さい。 By まこと

カテゴリ:旧電子会議室
日付:1998年09月30日 15:25 発信者:てとらぽっと
題名:RE:PB6: 継承について教えて下さい。

まことさん、こんにちは。お元気ですか??

>Wやユーザオブジェクト等、継承は何階層までで作成したらいいでしょうか?
>あまり階層が多いとパフォーマンスが悪くなるとも聞いた事があるように思います。

主にビジュアルコントロールの話になります。

わたし個人的には せいぜい 3階層 にとどめるようにしています。
Pentium 200MHz のマシンですが、ほとんどパフォーマンスは気になりません。
たまに 100MHz の方で開発しますと、オブジェクトがなかなか開いてくれませんが、
実行時のパフォーマンスはわかりません(DBアクセスに コンマ何秒?何秒 かの誤差があるため)。

こてちゅさんのレスと重なりますが、やはり 1層目のオブジェクトは汎用の処理を書いています。
ユーザーイベントは必ず 1層目に追加するようにしています。
コントロールで多少異なるインターフェースを実現したいとき(リスト型と入力フォーム型のDWなど)は、
継承した 2層目のユーザーオブジェクトを作っておいてます。
コントロールはこれら 1 or 2層目をそのまま使うことが多く、インターフェースに関しては
作り込みは非常に楽です。

各業務で継承して 2(or 3)層目を作り、業務に特化した処理をイベントに記述するか、
オブジェクト関数を追加しています。
ここで業務に応じて微妙に動作は異なるけれども、大抵どの業務にもあるという
オブジェクト関数であれば、先祖の層にエラーを返すだけの同名の関数を宣言しておきます。
開発が不十分なときにダイナミックコールされても異常終了を避けることができます。

あるいは微妙に違う数パターンの動作が必要な場合は、フラグなどでスクリプトを制御して
オブジェクトは1つにまとめています。この場合 Constructorイベントで、オブジェクト変数の
初期値を与えています。

ついでに、イベントとオブジェクト関数のどちらを使うかは、半分くらいは好みの問題のような
気もしますが、継承後に同名のオブジェクト関数を作成すると上書きされます。
イベントは(先祖で Return をしていない限り)先祖のイベントスクリプトの後に追加するか、
上書きするかをスクリプトペインタで指定できるという違いがあります。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.