2011-05-11 61 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