Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  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でクラスといった場合には、単にオブジェクト指向で書かれたモジュールのことを指します。

  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。