<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                類是我們對一組對象的描述。 在PHP中,沒各類的定義都已關鍵詞class開頭,后面分著類名,緊接著一對花括號,里面包含有類成員和方法定義。 ``` <?php /** * User: 三千 * Date: 16/3/14 * Time: 下午2:06 */ class person{ public $name; public $gender; public function say(){ echo $this->name,'is ',$this->gender; } } $student = new person(); $student->name = 'Tom'; $student->gender = 'male'; $student->say(); $teacher = new person(); $teacher->name = 'Kate'; $teacher->gender = 'female'; $teacher->say(); ``` 在這里,我們定義了一個person類。 含有姓名和性別這兩個屬性,還有一個開頭說話的方法。 之后實例化了person類,產生了一個student對象和teacher對象的實例。實際上就是從抽象到具體的過程。 所以,一個類的設計需要能充分展示其最重要的屬性和方法,并且能與其他事物相區分。只有類本身有意義,從抽象到具體的實例化才有意義。 總結: - 類定義了一系列的屬性和方法,并提供了實際的操作細節,這些方法可以用來對屬性進行加工。 - 對象含有類屬性的具體指,這就是類的實例化。正是由于屬性的不同,才能區分不同的對象。在上面例子中,由于student和teacher的性別和姓名不一樣,才得以區分開二人。 - 類與對象的關系類似一種服務于被服務、加工與被加工的關系,具體而言,就如同原材料與流水線的關系。只需要在對象上調用類中存在的方法,就可以對類的屬性進行加工,并且展示其功能。 在PHP里,對象是由屬性組成的,這很好理解,一個對象的屬性是它區別于另一個對象的關鍵所在。由于PHP的對象使用數組來模擬的,因此我們把對象轉化為數組,就能看到這個對象所擁有的屬性了。 ``` /** * User: 三千 * Date: 16/3/14 * Time: 下午2:06 */ class person{ public $name; public $gender; public function say(){ echo $this->name,'is ',$this->gender; } } $student = new person(); $student->name = 'Tom'; $student->gender = 'male'; print_r((array) $student); var_dump($student); ``` 返回結果: ``` Array ( [name] => Tom [gender] => male ) object(person)#1 (2) { ["name"]=> string(3) "Tom" ["gender"]=> string(4) "male" } ``` 可以很直觀地認識到,對象就是一堆數組。既然如此,可以把一個對象存儲起來,以便需要時用。這就是對象的序列化。 所謂序列化,就是把保存在內存中的各種對象狀態保存起來,并且在需要時還可以還原出來。下面的代碼實現了把內存中的對象當前狀態保存到一個文件中: ``` <?php /** * User: 三千 * Date: 16/3/14 * Time: 下午2:06 */ class person{ public $name; public $gender; public function say(){ echo $this->name,' is ',$this->gender,' '; } } $student = new person(); $student->name = 'Tom'; $student->gender = 'male'; $str = serialize($student); echo $str; file_put_contents('store.txt',$str); ``` 返回結果: ``` O:6:"person":2:{s:4:"name";s:3:"Tom";s:6:"gender";s:4:"male";} ``` 在反序列化,取出對象: ``` <?php /** * User: 三千 * Date: 16/3/14 * Time: 下午2:06 */ class person{ public $name; public $gender; public function say(){ echo $this->name,' is ',$this->gender; } } //反序列化取出這個結果 $str = file_get_contents('store.txt'); $student = unserialize($str); $student->say(); ``` 返回結果 ``` Tom is male ``` 注意,在序列化和反序列化時都需要包含類的對象的定義,不然有可能出現在反序列化對象時,找不到該對象的類的定義,而返回不正確的結果。
                  <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>

                              哎呀哎呀视频在线观看