• Perl 中的对象


    Perl 中的对象

    让我们开始在Perl中实现对象之前,先来定义几个预备性的术语。

    一个对象(还可以称做一个实例,instance)就像一辆给定的轿车,拥有下面的这些内容:

    1.属性 又称特性(如颜色:红色;座位数:4;动力:180马力)

    2.标示(identity)

    3.行为(behavior)

    某个特定类型的对象被称作属于一个类(class),我的车与你的车都属于叫做汽车的类,

    或者如果你并不关心具体的类别,那么还可以属于名为车辆的类。

    一个类的所有对象都具有相同的功能。

    属性:

    一个对象就是一组属性的集合,像我们在第2章”实现复杂的数据结构”中所讨论的那样,

    我们可以用数组或散列来表示这哥集合。例如,如果你需要记录下雇员的详细情况的话,

    你可以选择下面的一种方式:

    bless 以一个普通的指向数据结构的引用为参数。它将会把那个数据结构(注意,不是引用本身)

    标记为属于某个特定的包,

    bless 的好处在于它提供给我们一种直接使用该对象的方式,如:

    首先像以前一样创建两个对象:

    $emp1=RegularEmployee::new(‘John Doe’,32,#多态性
    ‘Software Engineer’,5000);

    $emp2=RegularEmployee::new(‘John Doe’,35,#多态性
    ‘Auditor’,65,90);

    现在我们使用箭头记号来直接调用实例的方法,或者用面向对象的话说,调用对象的方法:

    直接调用

    $emp1->promote();

    $emp2->compute_ytd_income();

    当Perl 看到emp1>promote(),emp1 属于哪个类(也就是在其中执行bless的)

    在这里,它是RegularEmployee.

    下面的例子:

    $details =; ###输入由制表符分隔的雇员详细信息

    type,name,age,position)split(/ /.$details);

    创建相应类的雇员对象

    现在就可以像往常一样来使用这个对象了

    $emp->compute_ytd_income();

    对象的销毁:

    Perl的垃圾收集是确定的,只要已经不再有任何东西指向这个对象,DESTROY 就会被马上调用)

  • 相关阅读:
    nginx限速 原理
    规则引擎 图形界面
    阿里巴巴 规则引擎
    martinfowler Data Guide big data bad things
    Nginx Request URI too large
    linux2.6.30.4内核移植(1)
    根文件系统
    Linux内核配置:定制配置选项
    Linux内核配置:Kconfig
    Linux内核配置:Makefile目标
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351186.html
Copyright © 2020-2023  润新知