■ このスレッドは過去ログ倉庫に格納されています
Perlについての質問箱 64箱目
- 586 :デフォルトの名無しさん:2015/10/25(日) 21:16:54.27 ID:+VcrnbUt.net
- オブジェクト指向の書き方と言うか使い方がいまいちよくわからんのだけど、
なんかいろいろあるんだけど、
use strict;
{
package obj;
sub new {
my $class = shift;
return bless { NAME => 'hoge', }, $class;
}
sub method{
my $self = shift;
}
}
package main;
my $instance = obj->new();
print $instance->{NAME} . "\n"; #1: 普通にアクセス出来ますが…? カプセル化とはいったい…?
obj::new(); #2: 使用側の呼び出しによってクラス名が自動送信されたりされなかったりする。オブジェクトかどうかは「呼び出し側が」決めるの? どうにかしてくれ
my $instance2 = obj->method(); #3: コンストラクタなのか通常のメソッドなのか区別が付かない。誤った使用法が普通に発生出来る。なんとかしてくれ。
ちょっとだけperldocだかを見てきたけど、なんでも自由にアクセス出来るのが売りだみたいなことを自慢げ(?)に書いてあった。
いやそれオブジェクト指向じゃねぇから。対策教えてくれ。
使用者がモジュールごとの仕様を熟知して地雷をよけながら歩くのがデフォルトかよ
総レス数 1009
298 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★