PHP中的構造方法和析構方法你知道怎麼用了嗎?
構造方法和析構方法
php中的構造方法是:__construct()
析構方法是: __destruct()
類似於python中的__init__
和__del__
<?php
// 建立一個人類
class Person {
// 下面是人的成員屬性
/*
var $name; // 人的名子
var $sex; // 人的性別
var $age; // 人的年齡
*/
// 定義一個構造方法引數為姓名$name、性別$sex和年齡$age
function __construct($name, $sex, $age) {
// 通過構造方法傳進來的$name給成員屬性$this->name賦初使值
$this->name = $name;
// 通過構造方法傳進來的$sex給成員屬性$this->sex賦初使值
$this->sex = $sex;
// 通過構造方法傳進來的$age給成員屬性$this->age賦初使值
$this->age = $age;
}
// 這個人的說話方法
function say() {
echo "我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age;
}
}
// 通過構造方法建立3個物件$p1、p2、$p3,分別傳入三個不同的實參為姓名、性別和年齡
$p1 = new Person("張三","男", 20);
$p2 = new Person("李四","女", 30);
$p3 = new Person("王五","男", 40);
// 下面訪問$p1物件中的說話方法
$p1->say();
// 下面訪問$p2物件中的說話方法
$p2->say();
// 下面訪問$p3物件中的說話方法
$p3->say();
?>
輸出的結果為:
我的名子叫:張三 性別:男 我的年齡是:20我的名子叫:李四 性別:女 我的年齡是:30我的名子叫:王五 性別:男 我的年齡是:40
解構函式:
<?
// 建立一個人類
class Person {
// 下面是人的成員屬性
/*
var $name; // 人的名子
var $sex; // 人的性別
var $age; // 人的年齡
*/
// 定義一個構造方法引數為姓名$name、性別$sex和年齡$age
function __construct($name, $sex, $age) {
// 通過構造方法傳進來的$name給成員屬性$this->name賦初使值
$this->name = $name;
// 通過構造方法傳進來的$sex給成員屬性$this->sex賦初使值
$this->sex = $sex;
// 通過構造方法傳進來的$age給成員屬性$this->age賦初使值
$this->age = $age;
}
// 這個人的說話方法
function say() {
echo "我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age;
}
// 這是一個解構函式,在物件銷燬前呼叫
function __destruct() {
echo "再見" . $this->name;
}
}
// 通過構造方法建立3個物件$p1、p2、$p3,分別傳入三個不同的實參為姓名、性別和年齡
$p1 = new Person("張三", "男", 20);
$p2 = new Person("李四", "女", 30);
$p3 = new Person("王五", "男", 40);
// 下面訪問$p1物件中的說話方法
$p1->say();
// 下面訪問$p2物件中的說話方法
$p2->say();
// 下面訪問$p3物件中的說話方法
$p3->say();
?>
輸出的結果為:
我的名子叫:張三 性別:男 我的年齡是:20我的名子叫:李四 性別:女 我的年齡是:30我的名子叫:王五 性別:男 我的年齡是:40
再見王五
再見李四
再見張三
相關文章
- Java--構造器和構造方法Java構造方法
- 構造方法構造方法
- Java 中 String 的構造方法Java構造方法
- 你知道YouTube的架構是什麼嗎架構
- java之繼承中的構造方法Java繼承構造方法
- 繼承中構造方法的特點繼承構造方法
- 你知道什麼是三層架構嗎?架構
- 理解 Objective-C 中的指定構造方法Object構造方法
- C++ 構造方法C++構造方法
- 【C++】 46_繼承中的構造與析構C++繼承
- 構造器中呼叫動態繫結的方法
- 聽說你的資源被盜用了,那你知道 Nginx 怎麼防盜鏈嗎?Nginx
- 樹形資料構造的方法
- java基礎:繼承中的構造方法規則Java繼承構造方法
- Java中構造方法,構造程式碼塊和靜態程式碼塊執行順序詳解Java構造方法
- 靜態程式碼塊、構造程式碼塊、構造方法構造方法
- JavaScript析構+正則的字串解析方法JavaScript字串
- java——繼承遇到構造方法Java繼承構造方法
- Python中如何使用構造方法定義類Python構造方法
- java構造方法-this關鍵字的用法Java構造方法
- 你知道 Linux 核心是如何構建的嗎?Linux
- 小解惑:查詢構造器與集合中的 get 方法
- 這10條PHP7中的禁忌,你知道嗎?PHP
- 理解 sole() 查詢構造器方法
- 【Objective-C】11-構造方法Object構造方法
- 01 #### `__new__` ,構造方法,建立物件構造方法物件
- PHP8的一些新特性之構造方法屬性提升PHP構造方法
- C#中為什麼會出現空靜態構造方法的寫法C#構造方法
- 你真的知道Python的字串怎麼用嗎?Python字串
- Dart | 你知道 sync*/async* 是怎麼用的嗎?Dart
- JNI/NDK開發指南(8):呼叫構造方法和父類例項方法構造方法
- 搭建團隊架構的重要原則,你知道嗎?架構
- WebGL場景的兩種地面構造方法Web構造方法
- 用了這麼多年 Spring Boot 你知道他爹有多大背景嗎?Spring Boot
- 《Effective C++》閱讀總結(二):類的構造、析構和賦值C++賦值
- JavaScript中Array方法你該知道的正確開啟方法JavaScript
- 父類沒有無參構造方法,子類怎麼辦學習筆記構造方法筆記
- 面試官:你知道怎麼求素數嗎?面試