オブジェクト指向プログラミングとは




  1. Perl




  2. オブジェクト指向



  3. オブジェクト指向プログラミングとは

 オブジェクト指向とはなんぞやという難しいことを記述する前に、オブジェクト指向で書かれたモジュールを使ってみましょう。

オブジェクト指向で書かれたモジュールの使用方法

 オブジェクト指向で書かれたモジュールを使用するには、まずモジュールをuseを使用して読み込みます。CGIモジュールを読み込んでみます。

use CGI;

 オブジェクトを作成するには、モジュール名->new のように記述します。作成されたオブジェクトを$cgiに代入しています。

my $cgi = CGI->new();

 newはオブジェクトを作成するためのメソッドでコンストラクタと呼ばれます。メソッドとは、-> から呼び出せる関数だと最初は考えればよいです。

 new以外のメソッドも呼び出してみましょう。

my $str = $cgi->h1( 'a' );

h1 メソッドは文字列を受け取って

<h1>...</h1>

という文字列を返却します。

サンプル

 ここまでの記述をサンプルにまとめておきます。

use strict;
use warnings;

use CGI;
my $cgi = CGI->new;
my $str = $cgi->h1('a');

# <h1>a</h1> と出力される
print $str; 

オブジェクト指向の特徴

 オブジェクト指向では、メソッドは->を使ってモジュール名かオブジェクトから呼び出されます。

記述 メソッドの呼び出し方法
CGI->new() モジュール名からの呼び出し
$cgi->h1 オブジェクトからの呼び出し

 メソッドがモジュール名かオブジェクトから呼び出されるというのがオブジェクト指向のひとつの特徴です。

Javaでのクラスの使い方

 javaをでの記述もPerlとほぼ同じになることがわかると思います。

import java.awt.Button;
import java.lang.Math;

# Buttonクラスからコンストラクタ(new に該当)を呼び出す
Button btn = new Button();

# btnオブジェクトから描画を行うpaintメソッドを呼び出す
btn.paint();

# Math クラスから絶対値を返すabsメソッドを呼び出す
Math.abs(-3);

Perlでのクラスとは

 Perlにはクラスを作る専用の文法はありません。Perlでクラスといった場合には、単にオブジェクト指向で書かれたモジュールのことを指します。