EzObject Version 1.1 リファレンス

REFERENCE


CEzObject.pm

概要

EZ-NET 区分 Base2 Collection
依存モジュール -

オブジェクト指向を容易に実装するための基底クラスです。属性まわりを実装するためのメソッドを提供します。

 

基本情報

Date 2004/06/09
File Name CEzObject.pm
Version 1.1.1
Type Class

 

実装

コンストラクタ

$own = new()
$own 自分自身への参照が返されます。

属性を保存する領域を確保します。

 

DESTROY()
- -

設定された属性を全て削除します。

 

メソッド

DeleteAttributes()
- -

設定されている属性をすべて消去します。内部的には、すべての属性にたいして undef を行います。

 

AddImplement($name, $value = undef)
$name 追加する実装の名前です。
$value 追加する実装への参照を指定します。

自分自身に対して、新たに変数の実装を行います。設定する値は参照のかたちで指定します。

 

AddAttribute($name, $value = undef)
$name 追加する属性の名前です。
$value 追加する属性に設定する値です。

自分自身に対して、新たに属性を結び付けます。$value によって、初期値を設定することが可能です。 現在このメソッドは、SetAttribute() メソッドと同等です。意味合い的には属性を定義するときにはこちらを使用します。

 

SetAttribute($name, $value = undef)
$name 操作対象となる属性の名前です。
$value 属性に設定する値です。

$value によって指定された値を、属性に代入します。 既に実装済みの属性を操作する場合に使用します。

 

$value = GetAttribute($name)
$value 指定された属性に保存されている値を取得します。
$name 取得したい属性の名前を指定します。

属性に保存されている値を取得します。

 

$version = GetVersionInfo()
$version モジュールのバージョン情報を取得します。

モジュールのバージョン情報を取得します。たとえば "1.1.1" というような文字列が取得できます。

 

$info = GetClassInfo()
$info モジュールの情報を取得します。

モジュールの情報を取得します。たとえば "Easy Network Base Object" というような文字列が取得できます。

 

$size = SetObjectInformation($version, $classinfo)
$size 記録されている情報数を返します。
$version 設定する情報のうちの、バージョン情報です。
$classinfo 設定する情報のうちの、クラス情報です。

オブジェクト情報を設定(追加)します。通常、このメソッドは派生クラスのコンストラクタだけが呼び出します。

 

$info = GetObjectInformations()
$info モジュールの情報を取得します。

モジュールの情報をすべて取得します。取得されるデータは配列への参照として取得でき、さらにその配列にはバージョン情報が HASH への参照で格納されています。それぞれの情報は 'VersionInfo' キーと 'ClassInfo' キーに、該当する情報を持っています。

 

プロパティ

 

イベント

 

関数

 

属性

$VersionInfo クラスのバージョン情報が保存されています。
$ClassInfo クラス情報が保存されています。

 

実験スクリプト

動作実験などで使用するスクリプトの一部です。ただ一応載せているだけなのですけど、もしかすると使い勝手の雰囲気は汲み取れるかもしれません。

package check;

use strict 'vars';

 

use CEzObject;

@check::ISA = ('CEzObject');

 

our %SYS_INFO =

(

'VersionInfo' => '1.0.0',

'ClassInfo' => 'Test Object'

);

 

sub new()

{

my $that = shift;

my $this = new CEzObject();

 

$this->SetObjectInformation($SYS_INFO{'VersionInfo'}, $SYS_INFO{'ClassInfo'});

 

$this->AddAttribute('attr1');

$this->AddAttribute('attr2', 200);

$this->AddAttribute('attr3', 300);

 

bless $this, $that;

return $this;

}

 

sub DESTROY()

{

my $this = shift;

$this->CEzObject::DESTROY();

}

 

1;