当前位置: 传客网 > 简单的perl学习笔记2_perl的面向对象与引用

简单的perl学习笔记2_perl的面向对象与引用

2017-01-06 作者:惟微

    在菜鸟教程网站,perl简介里面有一句话(http://www.runoob.com/perl/perl-intro.html):
    在统一变量类型和掩盖运算细节方面,Perl做得比其他高级语言(如:Python)更为出色。

    学了一整天之后发现这句话好像不对!我觉得perl比python明显更偏底层!
    在python与javascript里,从来不需要考虑对象的地址,但perl就不得不时常考虑.

    从perl的变量其实就可以看出来了.变量的定义,使用总是有个前缀的,3种基本类型:$,@,%
    我的理解是,变量是后面的字母,前缀是用来指定理解方式的.
    比如:$r=1;
    那么保存在r里面的就是1.
    但它与c语言里面的: int r=1;不同.在c里面,这就简单的分配了一个32位空间,数值是1.
    而在perl当中,标量是最最最基本的数据类型,它应该是一个对象.不但保存了基本数据,而且还保存了附加信息.这种附加信息包括了引用类型(如果有的话).
    比如:@arr=(1,2,3);
    那么arr保存的应该是数组的地址.但不允许直接访问arr的,必须有前缀.如果要用它的地址,也就是"引用"啦,必须写作 $r=\@arr.这里r变量不但保存了地址,同时还保存了自己的引用类型是一个数组,所以ref($r)才能返回ARRAY嘛,如果像c一样,只保存地址,谁知道是什么地址呢?因为保存了引用类型,所以一旦引发了错误的引用,就会报错.

    煮饭了,面向对象部分迟些再写.


相关推荐

  • php中引用&的真正理解-变量引用、函数引用、对象引用

    php中引用&的真正理解-变量引用、函数引用、对象引用php的引用(就是在变量或者函数、对象等前面加上&符号)//最重要就是删除引用的变量,只是引用的变量访问不了,但是内容并没有销毁在PHP中引用的意思是:不同的名字访问同一

  • 【原创】SQL2005错误:未将对象引用设置到对象的实例

    情况:在WindowsServer2008中安装SQLServer2005,在SQLServerManagementStudio中右键打开/设计表时出错:未将对象引用设置到对象的实例。原因:最大可能是Framework2.0出错。解决:由于

  • 未将对象引用设置到对象的实例解决方案

    一、网络上的一般说法1、ViewState对象为Null。2、DateSet空。3、sql语句或Datebase的原因导致DataReader空。4、声明字符串变量时未赋空值就应用变量。5、未用new初始化对象。6、Session对象为空。

  • php中引用&的真正理解-变量引用、函数引用、对象引用

    本文转载自:http://www.cnblogs.com/thinksasa/p/3334492.htmlphp的引用(就是在变量或者函数、对象等前面加上&符号)//最重要就是删除引用的变量,只是引用的变量访问不了,但是内容并没有销

  • JAVA对象引用与垃圾收集

    影子引用java.lang.ref.PhantomReferencePhantomReference主要是用来取代对象的finalize()。程序员利用finalize()来进行释放资源的同时,有可能不小心让此对象再度拥有DirectRef

  • PHp引用,函数引用,对象引用(初学者必看)

    收集整理:第二教育资源网在PHP中引用的意思是:不同的名字访问同一个变量内容.与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址变量的引用PHP的引用允许你用两个变量来指向同一个内容[php]$a="ABC"

  • 第十三章 Perl的面向对象编程

    第十三章Perl的面向对象编程http://net.pku.edu.cn/~yhf/tutorial/perl/perl_13.html第十三章Perl的面向对象编程 一、模块简介二、Perl中的类三、创建类四、构造函数实例变量五、方法六、

  • Perl的面向对象编程(写自己的pm)

    最近想把一些perl常用的函数写成一个自己的库函数,以方便自己调用,于是学习了下Perl的面向对象编程,即写自己的pm,一个pm就类型C++里面的类,里面有些方法,可以通过pm的名字来调用。学习总结:1、XXX.pm文件里面的第一行要是:p

  • Perl教学 第十三篇 Perl的面向对象编程

    本章介绍如何使用Perl的面向对象编程(OOP)特性及如何构建对象,还包括继承、方法重载和数据封装等内容。一、模块简介模块(module)就是Perl包(pachage)。Perl中的对象基于对包中数据项的引用。(

  • 第十二章 Perl的面向对象编程

    本章介绍如何使用Perl的面向对象编程(OOP)特性及如何构建对象,还包括继承、方法重载和数据封装等内容。一、模块简介模块(module)就是Perl包(pachage)。Perl中的对象基于对包中数据项的引用。(引用见第x章引用)。详见h

  • Perl的面向对象编程_Perl模块

    一、模块简介  模块(module)就是Perl包(pachage)。Perl中的对象基于对包中数据项的引用。  在用其它语言进行面向对象编程时,先声明一个类然后创建该类的对象(实例),特定类所有对象的行为方式是相同的,由类方法确定,可以通

  • 黑马程序员 Java之面向对象(一)  封装

    -------android培训、java培训、期待与您交流!----------自己平常总结的有关知识点,来看看吧。什么是面向对象?面向过程?无论面向过程还是面向对象都是一种解决问题的一种方式。面向过程与面向对象区别?面向过程注重的是动作

  • perl学习笔记之引用

    perl的三种内置变量类型通过引用结合在一起能够生成任意复杂和强大的数据结构,选择正确的数据结构往往能够很巧妙的解决问题。首先得理解在perl中变量是怎么存储的。每个已经定义的变量有个与之关联的名字和内存空间。通过一个标量存储该变量的内存地

  • JAVA学习--面向对象思想的落地法则

    *面向对象思想的落地法则一:*1.设计类,并设计类的成员(成员变量&成员方法)*2.通过类,来创建类的对象(也称作类的实例化)*3.通过“对象.属性”或“对象.方法”来调用,完成相应的功能**二、创建的多个对象,彼此各自拥有一套类的

  • 我很头疼的------面向对象

    面向对象三大特点:封装,继承,多态封装:将一个事物的属性和功能集中定义在一个对象中继承:父对象中的成员,子对象可以直接访问多态:同一个事物,在不同情况下表现出不同的状态继承:js中的继承,都是通过原型对象实现的原型对象:集中存储一类对象的共

  • 深入PHP:面向对象、模式与实践(第2版)

    书名:深入PHP:面向对象、模式与实践(第2版)【书评】索书号:TP312PH/Z131【馆藏】作  者:(美)MattZandstra著陈浩,吴孙滨,胡丹译出版社:北京:人民邮电出版社出版时间:2010-5-1【内容简介】本书是PHP专家

  • 07、c++面向对象程序的程序设计(上机)

    课程名称C++面向对象程序设计班级实训日期姓名学号指导教师实训名称实训七继承与派生实训学时4实训成绩一、实训目的(本次上机实践所涉及并要求掌握的知识点)1、掌握单一继承2、掌握多重继承3、理解虚基类的派生类构造函数二、实训内容及步骤(实训的

  • 面向对象的理解

    一、面向对象概述1、理解面向对象(1)面向对象是相对面向过程而言的。(2)面向对象和面向过程都是一种思想。(3)面向过程强调的是功能行为;面向对象将功能封装进对象,强调具备了功能的对象。(4)面向对象是基于面向过程的。(5)万物皆对象。例:

  • 传智—面向对象总结

    1:面向对象思想(1)面向对象与面向过程区别和联系。A:区别:**面向过程关注执行过程,这个时候我们是执行者。**面向对象关注的是最终功能,这个时候我们是指挥者。B:联系:**面向对象是基于面向过程的。(2)面向对象A:面向对象思想的特点。

  • 黑马程序员--面向对象

    -------android培训、java培训、期待与您交流!----------面向对象概念面向对象概念面向对象是相对面向过程而言,面向对象和面向过程都是一种思想。面向过程:强调的是功能行为。代表语言:C语言。面向对象:将功能封装进对象,

返回
顶部