<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                本指南將嘗試介紹在 PHP-GTK 2 中使用面向對象編程。PHP 5 對面向對象的支持非常好,因此我們可以在開發 PHP-GTK 2 應用的時候可以使用面向對象的編程方式。 為什么使用面向對象編程非常流行?選擇這種編程方式有許多優點, 特別是如果你的程序被分為若干個模塊,并且會有成千上萬行代碼。 一個最重要的優勢在于代碼結構會更加清晰。 如果使用面向對象的方式編程編寫你的程序,你或者其他人閱讀和修改這些代碼時, 會比使用純粹的面向過程的編程方式容易許多。 如果你確信面向對象是正確的選擇,那么讓我們開始吧! # 基本介紹 我將假設你已經熟悉使用面向對象編程,如果你不熟悉的話, 我建議在閱讀本指南之前先了解一下。你應當需要閱讀 PHP 5 的手冊關于面向對象的章節,這會讓你對此有更多的了解。 我們將使用面向對象的方式重新編寫簡單的“Hello World!”程序, 這樣你可以快速掌握要點。首先你必須創建一個類。最簡單的方式是從 PHP-GTK 2 已有的類中繼承一個你的類。現在,多數程序用 GtkWindow 作為它們最頂級的元件。我們的“Hello World!”程序也是如此。我們將要做的就是 繼承(extends)GtkWindow 創建一個類。這讓我們的工作容易許多: ~~~ class Hello extends GtkWindow{ } ~~~ 現在我們需要設計這個類的構造函數(當這個類的對象創建時被調用的函數)。 讓我們考慮一下需要在構造函數中做些什么。由于構造函數是類的對象創建時第一個被調用的, 我們必須在其中設置程序的外觀。這意味著構造函數創建了所有需要的元件,設置布局(參考 擺放元件) 以及決定我們的應用將是怎樣呈現。 現在,從 GtkWindow 繼承這個類,但是這并不會自動調用 GtkWindow 的構造函數。這是 PHP5 默認行為,因此我們必須使用關鍵字 parent 顯式調用 GtkWindow 的構造函數: ~~~ class Hello extends GtkWindow{ function __construct(){ parent::__construct(); } } ~~~ 這意味著當我們的類 “Hello”的對象創建時,一個 GtkWindow 將會被創建(沒有參數被傳遞到構造函數)。現在問題是如何訪問新創建的窗口對象。 關鍵字 this 會幫助我們完成! 使用這個關鍵字可以訪問并修改新創建的窗口的所有內容: ~~~ function __construct(){ parent::__construct(); $this->set_title('歡迎光臨 Hello world'); $this->connect_simple('destroy', array('gtk', 'main_quit')); } ~~~ 由于這是一個非常簡單的程序,我們可以僅在構造函數中完成所有的任務。 僅僅將前面面向過程的程序中的代碼放到這個構造函數中。這是最終的程序: # 例 1. Hello World —— 面向對象樣式 ~~~ <?php if(!class_exists('gtk')){ die("php-gtk2 模塊未安裝 \r\n"); } class Hello extends GtkWindow{ function __construct(){ parent::__construct(); $this->set_title('歡迎光臨 Hello world'); $this->connect_simple('destroy', array('gtk', 'main_quit')); $this->connect_simple('destroy',array('gtk', 'main_quit')); $lblHello=new GtkLabel("歡迎使用 PHP-GTK !\r\n'Hello world!'"); $this->add($lblHello); $this->show_all(); } } new Hello(); Gtk::main(); ?> ~~~ 最后運行我們的程序,跟以前的Hello world程序結果一樣,如圖所示。 ![](https://box.kancloud.cn/625893b391ef581ddccc6686d2b2f74c_380x173.png) 盡管這個例子并不能很全面的演示使用面向對象的方法編程, 但是它總是應該能幫助你有一個開端。我們現在將進一步了解更加高級的概念。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看