LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1502|回复: 7

bless 是什么

[复制链接]
发表于 2004-5-5 22:16:23 | 显示全部楼层 |阅读模式
sub new
{
my $class=shift;
my %hash=@_;
my $self={};
bless $self,$class;
}
其中$self={}; 于bless $self,$class;是什么意思?
谢谢
发表于 2004-5-5 22:51:05 | 显示全部楼层
这是解释,请看:
  1. bless (REFERENCE, [CLASSNAME])
  2. Category: Object
  3. Return Value: SCALAR, a refereNCe to the blessed object.
  4. Definition: Changes the type of the refereNCed variable to CLASSNAME. It is used to assign a class name to the refereNCed variable, thus changing the string returned by the ref() fuNCtion. If CLASSNAME is not specified, the name of the current package is used. See Chapter 8, "RefereNCes," for more information.
  5. $temp = { }
  6. bless $temp, 'ATMPCLASS';
  7. print("bless() \$temp is now has type ", ref($temp), "\n");
复制代码
 楼主| 发表于 2004-5-6 09:08:48 | 显示全部楼层
print("bless() \$temp is now has type ", ref($temp), "\n");

ref($temp)是是什么意思
还有函数在输出语句中是不是 不被解释
发表于 2004-5-6 14:17:58 | 显示全部楼层
ref()是个函数,一般来说,这样的格式就是个函数拉。
  1. ref (EXPR)
  2. Category: Miscellaneous
  3. Return Value: SCALAR, the data type of EXPR.
  4. Definition: Gets the data type of a variable. For example, 'ARRAY', 'CODE', 'GLOB', 'HASH', 'REF', or 'SCALAR' might be returned.
  5. If a variable was blessed with the bless() fuNCtion, then the new data type
  6. will be returned. The new data type will normally be a class name.
  7. $foobar = { };
  8. bless($foobar, 'ATMPCLASS');
  9. print "ref() \$foobar is now in class ", ref($foobar), "\n";
复制代码
最好能亲自动手运行一下给出的例子,这样就容易明白了。我E文不好,就不解释了
发表于 2004-5-6 14:59:12 | 显示全部楼层

re

perl对象被bless以属于某类
发表于 2004-5-7 13:07:04 | 显示全部楼层
通过使用bless函数,引用被告知它属于哪个类,该函数把该引用标记为属于一个特定的类。

ref()一般用来返回引用的类型的
在一个对象上调用ref函数,不返回该对象的实际数据,而返回她被连接到的类!
发表于 2004-5-7 13:07:05 | 显示全部楼层
删除吧,以为没有发出的,却发出了三个
发表于 2004-5-7 13:07:31 | 显示全部楼层
删除吧,以为没有发出的,却发出了三个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表