Chinaunix首页 | 论坛 | 博客
  • 博客访问: 986299
  • 博文数量: 150
  • 博客积分: 3017
  • 博客等级: 少校
  • 技术积分: 3829
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-19 14:40
个人简介

Now in Baidu WISE team

文章分类

全部博文(150)

文章存档

2014年(8)

2013年(31)

2012年(111)

分类: PERL

2013-03-18 15:56:45

前几天被问了perl的继承,因为太长时间没有用过,连面向对象具体怎么写的都记得不是十分清楚了。
这里记录一下。
KeyPoint:
1.使用hash存储类的各个成员field。
2.hash新建的时候是一个匿名hash的引用。
3.bless($self,$class)是将该类和匿名hash $self绑定,类名可以忽略。
4.bless的是引用不是hash。
5.继承相当于往父类的hash里新注册一些东西,添加完后bless即可。


  1. package Parent;
  2. #parent

  3. sub new{
  4.      my $class = shift ;
  5.      my $self = {"name" => "Parent} ;
  6.      bless($self, $class) ;
  7.          return $self ;
  8. }

  9. use Parent;
  10. package Child;
  11. @ISA = qw(Child);

  12. #child


  13. sub new{
  14.      my $class = shift ;
  15.      my $self = Parent->new();
  16.      $self->{"childname"} = "child";
  17.      bless($self);
  18.      return $self;
  19. }


阅读(2209) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~