• 游客 您好:

    目前「IT人巴啦啦天地」需要數個專家協助發表文章。

    只要您願意,可以直接與我 ihstat 連絡。我將會給你「專家」身份。

    成為「專家」有什麼好處?目前暫時還沒有。我也只願意提供最多10名會員有這樣的身份。

    他可能可以成為未來非常高的權限。(除了管理) 也可以獲得由浩瀚星空站提供的資源。

  • 本站不接受任何被列入廣告發文黑名單的電子信箱。如您無法註冊,可能是您使用的電子信箱為廣告黑名單信箱。正常的信箱都是可以正常註冊。

    如果您可以証實您的信箱非廣告黑名單,請自行來信 hstaryoching#gmail.com 申請。

    申請請留下您的正統名稱及信箱,並告知從何得知及想進來的理由。

  • 浩瀚星空站已經重新整合並新增新的開發小站天地。

    採用新版的xenforo 2.2.3 做為最新的站點系統。

    中文搜尋已在本站啟用成功,歡迎多加測試看看

    有問題請再回報

教學 物件的建立方式

ihstar

管理員
管理成員
PHP:
class demo{
}


好!我課講完了......
總覺得我這樣會被丟蕃茄和雞蛋。
觀眾:你這什麼沒來由的就2個單字加個左右括號?

其實這是一個宣告類別(class)的方法。
就是使用class去宣告demo這個類別。
不過要注意的事情是,這邊僅僅就只是宣告。
基本上如果你們學過函式(function)的話,函式寫好是可以直接呼叫使用的。
但是物件並不是你去宣告他就可以使用,重點是我還沒講他要怎麼使用。

上面講到了,class demo這是宣告demo這個類別。
但是類別要被程式碼所引用的話,你必須先將類別「實體化」成物件才行。
這邊我們來談談所謂的「物件」。
其實所謂的「物件」,以現實來說,你週遭的事物實際看到的,存在的都可以是一種物件。
比如說,我是「sam」,sam是我的名字,他所代表的是我的諸多屬性之一。
何謂屬性?我的名字:sam,我的性別:男,我的年齡:(不要問),我的興趣:打電動。
我是sam,我會跑,會跳,會吃,會玩。這些動作是我的「行為能力」,也可以說是功能(方法)。
一個物件中,基本帶有的就是屬性(property)和方法(function)。

觀眾:你扯那麼久了,還沒解釋你一開始那個程式碼是要怎麼運行啦。

ok!我不是講了,你必須要先實體化類別成物件。
在php(在其他很多語言似乎也類似)中,直接實體化是使用(new)這個指令。

PHP:
class demo{
}
$demo = new demo;



很高興的,很快樂的,我們生成了一個物件,叫做demo的物件。而將$demo這個變數的型態,轉變成了物件。
不過......
這個物件好像啥事都不能做。就空空的什麼都沒有。

觀眾:(手握雞蛋)

好啦好啦!江湖規矩!hello world來拜訪大家。
不過我先提一下,上面講過,一個物件會有「屬性」跟「方法」。
所以既然我們要印出hello world,基本上就先提供一個方法直接印出hello world好了。
PHP:
class demo{
    function hello(){
        echo 'Hello World!';
   }
}
$demo = new demo;
$demo->hello();
這邊,我宣告了一個方法叫做hello(),他的目的只有一個,就是印出Hello World!
在物件中宣告方法的指令仍然是function,但要注意這和你一般宣告函式不同。
在物件中的函式「無法」被外部的程式碼直接呼叫,你直接使用的話會變成函式不存在。
(我就一直搞不懂為什麼php不直接像其他的語言宣告成員+名稱就好了。)
今天的這第一堂課就先上到這邊。
下一堂課要教大家什麼是屬性及物件成員。
值日生記得擦黑板,倒垃圾。放學回家要乖乖的路上別亂跑。
過馬路要看紅綠燈,記得扶老太太過馬路。
還有騎車不小心撞到小妹妹要去「秀秀」,不要不爽就踹人家二腳!
 
頂部