【发布时间】:2013-06-19 08:30:18
【问题描述】:
这个问题是关于SUPER 类的。
什么时候会发生“被覆盖的方法”?
所以说当我实例化一个类时:
$object = Classname -> new (some => 'values');
这就是你所说的覆盖方法吗?新方法的覆盖值?
如果是这样,我为什么要使用 SUPER 类?
我只能说:
$object = Classname -> new ();
我又有原来的方法了。有人可以帮我澄清一下吗?
【问题讨论】:
-
不,这完全不是——任何答案基本上都会重复perldoc.perl.org/perlobj.html。
-
你从中学到了什么?可能有更好的书/教程/网站等适合您。在您更熟悉基本的 OO 概念和子类化 - 编辑、哦和方法参数之前,您不应该真正需要 'SUPER::'!
-
您不会因为对单个问题投反对票而被禁止。无论如何,我认为perldoc perlootut 可能是一本好书。在Inheritance section 下有一个方法覆盖的示例。这不是你想的那样。
-
@BelmarkCaday - 投票本身不会让人们被禁止(尽管如果你发布 100 个问题,每个问题 -5,那可能)。它们表明人们不喜欢你的问题质量——基本上,你不是问有趣的编程问题,而是要求人们向你解释 OOP 001(甚至不是 101)的基础知识; 似乎自己没有做任何研究(您是否在 Google 上搜索过“子类/超类/OOP”?)。是的,获得太多反对票可能会导致人们对回答你的问题失去兴趣,即使是更有趣的问题(你确实有)
-
重复我对您看到的第一个问题的第一个评论,首先阅读一般的 OOP(至少是一篇 Wiki 文章或一本好书),您会受益匪浅,并且然后从更基础的 Perl 材料开始(甚至可能是学习 Perl 而不是编程,根据这个问题的评论链接,至少加上 perldoc 上的一些文档)。