CLOSE

みなさん、こんにちは!

このブログは、「PowerBuilder ってなに?」「PowerBuilder って何ができるの?」という疑問に、IT 用語の解説もしつつ、簡単に分かりやすくお答えすることをモットーにしています。
気になる方はぜひ続きを見てみてくださいね。

登場キャラクター紹介

ねこぴ
PowerBuilder レクチャーのキャラクター。
(猫に見えるが)PowerBuilder の先生。
ゆる~く楽しく!がモットー。

ちまき
PowerBuilder をこれから学びたい開発初心者。
ITの知識はちょっとあるようなないようなレベル。

動画でも PowerBuilder について学習できます!

YouTube では、この PowerBuilder 入門シリーズの動画版を公開しています!

動画版では、実際の PowerBuilder の画面操作をしているところを確認しながら進められるので、より理解力が深まります。
あわせてぜひご視聴ください!

入門シリーズ再生リストはこちらから!

さて、前回のブログでは PowerBuilder の開発言語とオブジェクト指向について解説したけど、分かったかにゃ?

はい!PowerBuilder の開発言語は PowerScript で、Excel の VBA と構文が似ているんですよね!
あとオブジェクト指向と結びつきがあるとかないとか・・・。

そうにゃ。
今回は PowerBuilder とオブジェクト指向の結びつきについて解説するけど、それはそれは、カレーと福神漬け、いや、味噌汁とご飯って感じくらい密接に関わっているのにゃ。

例えがちょっと分からないです。。。

前回のブログから PowerBuilder はオブジェクト指向と関係があるということが分かったと思います。
今回は PowerBuilder とオブジェクト指向はどう結びついているのかについて解説していきます。

PowerBuilder 入門をまずはおさらい!

PowerBuilder って何なの?と思ったあなた!
PowerBuilder 入門シリーズの第 1 弾ブログをぜひご覧ください(^◇^)

オブジェクト指向の復習!

まずはオブジェクト指向の復習をしましょう。
オブジェクト指向とは、オブジェクト (=もの) の中にメソッド (=オブジェクトの動作やオブジェクトに対する操作、「ふるまい」) とプロパティ (=オブジェクトの「状態」であったり、動作する上での「設定値」など) がある考えのことを言います。

前回のブログでゲームキャラに例えましたが…その際、オブジェクトはキャラクターの本体、メソッドは技、プロパティは容姿などの特徴と言いました^^
つまりオブジェクトをベースとして、その中にメソッドとプロパティがあるのです。
作成したアプリケーションには大小さまざまなオブジェクトが存在していて、そのオブジェクトの中にさらにどのような処理をするのかというメソッド (関数) と、どういったオブジェクトなのかという特徴 (プロパティ) を内包しているということなのです。
こういった考え方を基にアプリケーションなどを作成していくことを、オブジェクト指向に基づいた開発といいます。

なぜオブジェクト指向を使うの?

そうですよね。そもそもなぜオブジェクト指向という考え方を使用するのか?
まあ、その考え方を使うとメリットが多いということなんですよね。
オブジェクト指向を使用する主な理由は以下の通りです。

①修正・変更の作業時間が削減できる
②プロジェクトを分かりやすく管理できる

具体的にどういうことなのか解説していきますね^^

まず 1 点目。
例えば、100 個のオブジェクトで作成された大規模なアプリケーションがあり、その半分の 50 個のオブジェクトにまったく同じ処理を行うメソッドが実装されているとします。
ところがその共通のメソッドに修正点が見つかったとします(; ・`д・´)そうすると 50 箇所をちまちまと修正していては時間がいくらあっても足りません。
そこで活躍するのがオブジェクト指向を意識した開発方法です。
オブジェクト指向の「継承」というしくみを利用し、共通となる処理を実装したオブジェクトを作成してそれを流用することで、大元の処理を直すだけで 50 個すべてのオブジェクトに修正が反映されるという仕組みを作ることができます。

2 点目として、オブジェクト単位で開発することで、どこにどんなメソッドやプロパティがあるのかが分かりやすくなりますよね。
例えば、 データウィンドウとは? ~PowerBuilder 入門!! 第 2 弾~でも記載されているシステムツリーはアプリケーションを作成したら、ウィンドウなどのオブジェクトがリスト化されていきますが、そのウィンドウの中にメソッドやプロパティが管理されている状態なので、従来と異なる開発者が開発をする場合でも、どこに何があるか分かりやすい仕様となっています。

オブジェクト指向と PowerBuilder の関係性

では PowerBuilder のコードを見て、具体的にオブジェクト指向がどう使用されているか確認していきましょう!
これは PowerBuilder の開発において便利なテクニックを紹介している Tips の「エディットマスクコントロールの和暦データを西暦で取得する」に記載されているソースコードです。
このソースコードはどこかのウィンドウに記述されていると考えてください。
ウィンドウは「オブジェクト」の一種です。
そしてそのウィンドウ内に記述されている以下コード内の 3 行目に GetData という関数が記述されてます。

// 変数を定義
date ld_date
// エディットマスクコントロールに和暦データを設定する
em_1.text = “令和03年12月27日”
// ld_date に 2021/12/27 の日付データが格納される
em_1.Getdata(ld_date)
// 取得したデータを表示する
MessageBox(“タイトル”,”西暦 : ” + String(ld_date, “yyyy/mm/dd”))

エディットマスクに “令和03年12月27日” という値をセット後、GetData 関数を使用することで変数 ld_date に 2021/12/27 という日付データが格納されます。
「メソッド」はオブジェクトの動作やオブジェクトに対する操作、「ふるまい」ですね。
対して「プロパティ」というのは、オブジェクトの「状態」であったり、動作する上での「設定値」などを意味しているのでしたね。
つまり、オブジェクトがどんな状態なのかも分かりますし、値もセットできます。
上記のコードを見てみると「em_1.text = “令和03年12月27日”」という式が確認できますよね。
この「text」というのはプロパティであり、ドット前のコントロールの「入力値」を表すものなのです。
em_1 とはエディットマスクコントロールというウィンドウに配置するコントロールの一種で、「em_1.text = “令和03年12月27日”」というのはそのコントロールに text プロパティを使って値を入れているということです。

このように、ウィンドウというオブジェクトの中にメソッドやプロパティがあることが確認できますよね。
まさにオブジェクト指向を基にした開発と言えます。

こ・こ・で補足★
PowerBuilder では ProfileString や Open などの組み込み関数、新規作成から作る関数オブジェクト、外部関数は「関数」と呼び、データウィンドウの Retrieve や SetTransObject などは「メソッド」と呼ぶことが多いです。
基本的には上記のような呼び名の違いがあることを頭の片隅にでも入れといていただけると嬉しいです!

すっきりです!
確かに PowerBuilder はオブジェクト指向を基にした開発方法であることが分かりましたね!

そうにゃね。
実際に開発をしていくにつれて、さらに理解力も深まっていくはずにゃ。

それでは、最後におさらい!

PowerBuilder はオブジェクト指向を意識した開発方法を使用している


こちらのブログシリーズ次回の記事はこちら↓↓

入門シリーズ全記事のまとめ

PowerBuilder 入門シリーズの全記事を、まとめページからもご覧いただけます!

PowerBuilder入門シリーズまとめ

いかがでしたでしょうか?
より詳しく PowerBuilder に関してお知りになりたい方は、Appeon 社の製品サイトをチェック!

x instagram facebook youtube