免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 51113 | 回复: 16
打印 上一主题 下一主题

新手请教关于OOP的问题,谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-19 19:00 |只看该作者 |倒序浏览
最近在看OOP的知识,对于以下一些概念有些混乱:PERL中得类/包/模块/名字空间。
在《Perl语言编程 第三版-第十章 包》(http://www.pgsqldb.org/twiki/bin/view/Perl/Packages)中有以下几段话
  1. 在 Perl 里,一个名字空间叫一个包。包提供了基本的制作块,在它上面构造更高级的概念,比如模块和类等。
复制代码
  1. 在 OO 的说法中,每个对象都属于一个叫做类的组。在 Perl 里,类和包以及模块之间的关系是如此地密切,以至于许多新手经常认为它们是可以互换的。
复制代码

在《Perl 5教程-第十三章 Perl的面向对象编程》(http://www.yuzi.net/perl5/perl13.htm)中有以下几段话:
  1. .类是一个Perl包,其中含提供对象方法的类。
复制代码
  1. 再强调一下,一个Perl类是仅是一个包而已。当你看到Perl文档中提到“类”时,把它看作“包”就行了。
复制代码
  1. 一个模块就是一个包,一个包就是一个类。
复制代码


请教:我该怎么理解PERL中类/包/模块/名字空间的关系,以上两篇文章得内容好象是截然相反得两种观点。
我想知道PERL中包/类/模块具体是怎么表现的,我现在知道模块表现为以.pm结尾的文件。通过USE/REQUIRE在程序中引用。其他两种到底于模块有怎么样得区别,请各位大侠指点一二。
谢谢。

论坛徽章:
0
2 [报告]
发表于 2005-09-19 19:05 |只看该作者

新手请教关于OOP的问题,谢谢

《Perl语言编程 第三版-第十章 包》中有以下一段话:
  1. 典型的类是用一个定义了与该类同名的包名字的模块实现的。
复制代码

是不是说类也表现为一个.PM文件阿?

论坛徽章:
0
3 [报告]
发表于 2005-09-19 19:56 |只看该作者

新手请教关于OOP的问题,谢谢

习惯上类是用与类同名的包实现的,放到一个模块文件里面。 呵呵。 我等于什么都没说。  不过可以用指定bless的类名的方式返回一个和包不一样名字的类(这样不好玩)

论坛徽章:
0
4 [报告]
发表于 2005-09-19 19:58 |只看该作者

新手请教关于OOP的问题,谢谢

Perl 5教程 的说法可以当作过桥的概念,研究明白实现就可以放下了。 Perl语言中说的是对的,他们是独立的概念。

论坛徽章:
0
5 [报告]
发表于 2005-09-19 20:23 |只看该作者

新手请教关于OOP的问题,谢谢

哇,大哥,你好给面子阿。
从2003年9月23号到2005年9月19号,你总共发了3个帖子,却有2个回给俺。
不胜荣幸阿。

论坛徽章:
0
6 [报告]
发表于 2005-09-19 20:24 |只看该作者

新手请教关于OOP的问题,谢谢

哪位大侠再帮忙解释一下,谢谢了。

论坛徽章:
0
7 [报告]
发表于 2005-09-19 20:44 |只看该作者

新手请教关于OOP的问题,谢谢

[quote]原帖由 "gsging"]哪位大侠再帮忙解释一下,谢谢了。[/quote 发表:


等apile来解释这个问题吧,
说实话,小女不是很接受perl面向对象的概念,

论坛徽章:
0
8 [报告]
发表于 2005-09-20 03:27 |只看该作者

新手请教关于OOP的问题,谢谢

一个package就是一个类,一个pm文件里面可以有多个package
但至少我不喜欢在一个pm文件里面放多个package,因为过久了就会找不到类放在哪里了

论坛徽章:
0
9 [报告]
发表于 2005-09-20 09:30 |只看该作者

新手请教关于OOP的问题,谢谢

原帖由 "兰花仙子" 发表:


等apile来解释这个问题吧,
说实话,小女不是很接受perl面向对象的概念,

素闻仙子大名,呵呵,不接受也谈谈不接受的原因阿,小弟初次接触PERL OOP,想多听听各位的见解,谢谢了。

论坛徽章:
0
10 [报告]
发表于 2005-09-20 09:32 |只看该作者

新手请教关于OOP的问题,谢谢

原帖由 "笨狗" 发表:
一个package就是一个类,一个pm文件里面可以有多个package
但至少我不喜欢在一个pm文件里面放多个package,因为过久了就会找不到类放在哪里了

您得意思是说:包就是一个类,一个模块文件可以包含很多包,但通常不在一个模块里面放多个包,容易混乱?
恩,大概了解了一些关系。谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP