2011-05-11 69 views
0

不会有任何命名冲突 原因在这种情况下,函数名和类名都被命名为DocumentClass 有人可以用外行人的话来解释它 因为我还是一个新手在Flash AS3关于功能和类名相似问题的问题

package com.identityMine.documentClass 
{ 
    import flash.display.MovieClip; 
    public class DocumentClass extends MovieClip 
    { 
     public function DocumentClass() 
    { 

    } 
} 
} 

回答

1

在这种情况下,函数是类的构造函数。它必须有班级的名字。每次创建类的新实例时,都会执行此构造函数。

+0

为什么这样呢? 为什么像你说的构造函数必须与类具有相同的名称? – christian 2011-05-11 08:57:36

+0

其定义在AS3中。其他语言可以通过其他方式实现。 – DanielB 2011-05-11 08:59:57

+0

@DanielB谢谢你!但是,我仍然有点困惑! – christian 2011-05-11 09:20:57

2

这将是构造函数 - 只要您创建类的实例,就会调用它。

认为它是这个..当你说:

var thing:MyClass = new MyClass(); 

你:

  1. MyClass的创建一个新的实例。
  2. 调用MyClass()方法。

其他语言使用不同的方法,例如定义一个类的PHP中使用__construct()像这样的构造:

class MyClass 
{ 
    public function __construct() 
    { 
     echo 'hello, I exist now'; 
    } 
} 

所以创建这个类,像这样的情况下,将输出“你好,我现在存在'到页面上。

<?php $thing = new MyClass(); ?> 
+0

是的,我感谢兄弟! 包 中的命名空间,你可以解释给我看看! 预先感谢您 – christian 2011-05-11 09:42:20