日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php面向对象编程代码怎么写,php面向对象编程(一)

發布時間:2025/3/8 php 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php面向对象编程代码怎么写,php面向对象编程(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

類與對象關系:

類就像一個人類的群體 我們從類中實例化一個對象 就像是制定一個人。

面向對象程序的單位就是對象,但對象又是通過類的實例化出來的,所以我們首先要做的就是如何來聲明類, 做出來一個類很容易。

類的格式

class 類名 { }

類可以理解為一個人的群體,如果我們要把這個人介紹給別人 那么

首先, 你會介紹這個人姓名、性別、年齡、身高、體重、電話、家庭住址等等。

然后,你要介紹這個人能做什么, 可以開車, 會說英語, 可以使用電腦等等。

從定義的角度可以分為:

1.靜態的描述 如:人的姓名、性別、年齡、身高、體重、電話、家庭住址等等 我們將靜態的描述稱為成員屬性

我們可以用var 來定義 如 var $description ;此時我們應該注意的是聲明沒有必要賦值 ,如人的名字叫小明 有可能在這個人群中找到幾十個小明

2.動態描述 ?如:這個人可以開車, 會說英語, 可以使用電腦等等 ? 我們將動態的描述稱為成員方法

class 人

{

成員屬性:姓名、性別、年齡、身高、體重、電話、家庭住址

成員方法:可以開車, 會說英語, 可以使用電腦

}

{//下面是人的成員屬性

var $name; //人的名子

var $sex; //人的性別

var $age; //人的年齡

// 下面是人的成員方法

function say() //這個人可以說話的方法

{echo "這個人在說話";

}function run() //這個人可以走路的方法

{echo "這個人在走路";

}

}?>

當定義好一個類后 我們需要實例化那個類才能使用

用new的關鍵詞 ?$對象名稱 = new  類名稱();

class Person

{

//下面是人的成員屬性

var $name; //人的名子

var $sex; //人的性別

var $age; //人的年齡

//下面是人的成員方法

function say() { //這個人可以說話的方法

echo "這個人在說話";

}

function run() { //這個人可以走路的方法

echo "這個人在走路";

}

}

$p1=new Person();

$p2=new Person();

$p3=new Person();

?>

現在我們示例化類已經好了我們就要去學會如何使用類中的成員

對象->屬性 $p1->name; $p2->age; $p3->sex;

對象->方法 $p1->say(); $p2->run()

class Person

{

// 下面是人的成員屬性

var $name;// 人的名子

var $sex;// 人的性別

var $age;// 人的年齡

// 下面是人的成員方法

function say() // 這個人可以說話的方法

{

echo "這個人在說話";

}

function run() // 這個人可以走路的方法

{

echo "這個人在走路";

}

}

$p1 = new Person(); //創建實例對象$p1

$p2 = new Person(); //創建實例對象$p2

$p3 = new Person(); //創建實例對象$p3

// 下面三行是給$p1對象屬性賦值

$p1->name = "張三";

$p1->sex = "男";

$p1->age = 20;

// 下面三行是訪問$p1對象的屬性

echo "p1對象的名子是:" . $p1->name;

echo "p1對象的性別是:" . $p1->sex;

echo "p1對象的年齡是:" . $p1->age;

// 下面兩行訪問$p1對象中的方法

$p1->say();

$p1->run();

// 下面三行是給$p2對象屬性賦值

$p2->name = "李四";

$p2->sex = "女";

$p2->age = 30;

// 下面三行是訪問$p2對象的屬性

echo "p2對象的名子是:" . $p2->name;

echo "p2對象的性別是:" . $p2->sex;

echo "p2對象的年齡是:" . $p2->age;

// 下面兩行訪問$p2對象中的方法

$p2->say();

$p2->run();

// 下面三行是給$p3對象屬性賦值

$p3->name="王五";

$p3->sex="男";

$p3->age=40;

// 下面三行是訪問$p3對象的屬性

echo "p3對象的名子是:" . $p3->name;

echo "p3對象的性別是:" . $p3->sex;

echo "p3對象的年齡是:" . $p3->age;

// 下面兩行訪問$p3對象中的方法

$p3->say();

$p3->run();

?>

此時類我們已經基本可以使用了 但是我們發現還是有點不足 就是我們可以在外部進行訪問,但是不能在內部進行訪問 我們引進一個概念“this”的用法 ? 如果可以對內部進行訪問賦值 那么將減少我們的代碼量

class Person

{

// 下面是人的成員屬性

var $name; //人的名子

var $sex; //人的性別

var $age; //人的年齡

// 下面是人的成員方法

function say() // 這個人可以說話的方法

{

echo "我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age;

}

function run() // 這個人可以走路的方法

{

echo "這個人在走路";

}

}

$p1 = new Person(); // 創建實例對象$p1

$p2 = new Person(); // 創建實例對象$p2

$p3 = new Person(); // 創建實例對象$p3

// 下面三行是給$p1對象屬性賦值

$p1->name = "張三";

$p1->sex = "男";

$p1->age = 20;

// 下面訪問$p1對象中的說話方法

$p1->say();

// 下面三行是給$p2對象屬性賦值

$p2->name = "李四";

$p2->sex = "女";

$p2->age = 30;

// 下面訪問$p2對象中的說話方法

$p2->say();

// 下面三行是給$p3對象屬性賦值

$p3->name = "王五";

$p3->sex = "男";

$p3->age = 40;

// 下面訪問$p3對象中的說話方法

$p3->say();

?>

分析一下

function say() // 這個人可以說話的方法

{

echo "我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age;

}

上面代碼中$this指的是對其進行賦值的對象。

構造方法__construct()與析構方法__destruct()

構造方法__construct():即自動使用new的方法實現對象的實例化(可以理解為為實現能在實例化對象的時候傳入參數構建一道橋梁)。理解為一個隊列

// 創建一個人類

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

析構方法__destruct():析構函數允許在銷毀一個類之前進行一些列的操作 ? 一個類的析構函數必須是__destruct() ?注意的是析構函數不能附帶任何的參數 理解為一個棧

// 創建一個人類

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

再見王五

再見李四

再見張三

總結

以上是生活随笔為你收集整理的php面向对象编程代码怎么写,php面向对象编程(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。