perl面向对象
一.使用哈希引用方术创建对象
基于匿名哈希表的方式,每个对象实例的实质就是一个指向匿名哈希表的引用。在这个匿名哈希表中,存储了所有的实例属性。
1.创建类文件 Person.pm
#!usl/bin/perl package Person; #new方法就是一个构造函数,它返回一个与类名相关的对象的引用 sub new { my $class = shift; #有个隐含的参数在@_数组第一个位置,就是调用该类方法的类名称,也就是这里的shift,我们把类名称存储到变量class中 #打印类名称 print "class=$class\n"; #打印Person #创建一个匿名哈希表的引用,{}是一个匿名哈希表 my $self={ Name=>shift, Age=>shift, Sex=>shift, }; #输出信息 print "名字:$self->{Name}\n"; print "年纪:$self->{Age}\n"; print "性别:$self->{Sex}\n"; #通过 bless 把一个引用和这个类名相关联,返回这个引用就构造出一个对象 bless $self, $class; return $self; } #方法的第一个参数为对象或者被引用的包 sub SetName { #_self接收的是对象,—Name接收的是设置的Name my($_self,$_Name)=@_; print "before Name=$_self->{Name}"; $_self->{Name}=$_Name if defined $_Name; print "after Name=$_self->{Name}"; } sub GetName { my($_self)=@_; return $_self->{Name}; } 1;
2.使用类
#!/usr/bin/perl use Person; $object = new Person( "LiMing", 25, "man"); $object->SetName("LiQiang"); $__Name=$object->GetName(); print "$__Name";
二.使用数组引用方式创建对象
4556
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端