国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 後端開發(fā) php教程 PHP 中的類別_PHP教程

PHP 中的類別_PHP教程

Jul 21, 2016 pm 04:09 PM
php 物件 我們 概念 程式設(shè)計(jì) 類別 程式設(shè)計(jì) 說說 面向


PHP 中的類別 在闡述類別的概念之前我們來先說說物件導(dǎo)向程式設(shè)計(jì)的概念:物件導(dǎo)向的程式設(shè)計(jì)(Object-Oriented Programming,簡記為OOP)立意於創(chuàng)建軟體重用程式碼,具備更好地模擬現(xiàn)實(shí)世界環(huán)境的能力,這使它被公認(rèn)為是自上而下編程的優(yōu)勝者。它透過在程式中加入擴(kuò)充語句,把函數(shù)「封裝」進(jìn)程式所必需的「物件」。物件導(dǎo)向的程式語言使得複雜的工作條理清晰、編寫容易。說它是一場(chǎng)革命,不是對(duì)物件本身而言,而是對(duì)它們處理工作的能力而言。物件並非與傳統(tǒng)程式設(shè)計(jì)和程式設(shè)計(jì)方法相容,只是部分面向?qū)ο蠓炊鴷?huì)使情況更糟。除非整個(gè)開發(fā)環(huán)境都是物件導(dǎo)向的,否則物件產(chǎn)生的好處還沒有帶來的麻煩多。有人可能會(huì)說PHP不是一個(gè)真正的物件導(dǎo)向程式設(shè)計(jì)的語言, PHP 是一個(gè)混合型 語言,你可以使用物件導(dǎo)向編程,也可以使用傳統(tǒng)的過程化程式設(shè)計(jì)。然而,對(duì)於大型專案的開發(fā),你可能想需要在PHP中使用純的物件導(dǎo)向程式設(shè)計(jì)去聲明類,而且在你的專案開發(fā)只用物件和類別。隨著專案越來越大,使用物件導(dǎo)向程式設(shè)計(jì)可能會(huì)有幫助,物件導(dǎo)向程式碼很容易維護(hù),容易理解和重複使用,這些就是軟體工程的基礎(chǔ)。在基於Web的專案中應(yīng)用這些概念就成為網(wǎng)站未來成功的關(guān)鍵。

物件(Object)是問題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象,它反映此事物在系統(tǒng)中需要保存的資訊和發(fā)揮的作用;它是一組屬性和有權(quán)對(duì)這些屬性進(jìn)行操作的一組服務(wù)的封裝體。 關(guān)於對(duì)像要從兩方面理解:一方面指系統(tǒng)所要處理的現(xiàn)實(shí)世界中的對(duì)象;另一方面對(duì)像是計(jì)算機(jī)不直接處理的對(duì)象,而是處理相應(yīng)的計(jì)算機(jī)表示,這種計(jì)算機(jī)表示也稱為對(duì)象。簡單的來說,一個(gè)人就是一個(gè)對(duì)象,一個(gè)尺子也可以說是個(gè)對(duì)象。當(dāng)這些物件可以用資料直接表示時(shí),我們就稱他為屬性,尺子的度量單位可以是厘米,公尺或英尺,這個(gè)度量單位就是尺的屬性。??

在PHP裡我們可以定義一個(gè)類,類(Class)就是指變數(shù)與一些使用這些變數(shù)的函數(shù)的集合。 PHP是一種鬆散類型的語言,所以透過型別重載不起作用,透過參數(shù)的個(gè)數(shù)不同來重載也不起作用。 有時(shí)在面向中重載建構(gòu)函數(shù)非常好,這樣你可以透過不同的方法建立物件(傳遞不同數(shù)量的參數(shù))。在PHP中就是透過類別來實(shí)現(xiàn)的。

在PHP中是透過類別來完成資訊封裝的,在PHP中定義類別的語法是:??
class Class_name // 在物件導(dǎo)向程式設(shè)計(jì)類別中,習(xí)慣上類別的第一個(gè)字元為大寫,並且必須符合變數(shù)的命名規(guī)則。
{??

//函數(shù)與變數(shù)的集合??

}??
?>??

在定義類別時(shí)你可以按自已的喜好的格式定義,但最好能維持一種標(biāo)準(zhǔn),這樣開發(fā)起來會(huì)更有效。??

資料成員在類別中使用"var"宣告來定義,在給資料成員賦值之前,它們是沒有類型的。一個(gè)資料成員可以是一個(gè)整數(shù),一個(gè)數(shù)組,一個(gè)相關(guān)數(shù)組(Associative Array)或者是一個(gè)物件。

以下是一個(gè)類別定義的實(shí)際例子:??
class Student??
{??
var $str_Name; //姓名??
var $str_Sex; ; //學(xué)號(hào)??
var $int_English; //英文成績??
var $int_maths; //數(shù)學(xué)成績??
}??
?>??

這是一個(gè)很普通定義的簡單例子,用於顯示學(xué)生的學(xué)業(yè)成績,類別名為Student,Student類別包涵了一個(gè)學(xué)生的基本屬性:姓名、性別、學(xué)號(hào)、英語成績和數(shù)學(xué)成績。

function我們稱為在類別中被定義的函數(shù),在函數(shù)中存取類別成員變數(shù)時(shí),你應(yīng)該使用$this->var_name,其中var_name指的是類別中被宣告的變量,否則對(duì)一個(gè)函數(shù)來說,它只能是局部變數(shù)。我們先定義一個(gè)Input()的函數(shù),用來賦予實(shí)例中的物件以初始值:??
function Input ( $Name, $Sex, $Id, $Englis, $Maths)??
{??
$this->str_Name=$Name;??
$this->str_Sex =$Sex;??
$this->int_Id =$Id;??
$this->int_Englis=$English;this?$ ->int_Maths=$Maths;??
}??

現(xiàn)在我們?cè)俣x一個(gè)叫做「ShowInfo()」的函數(shù),用來列印學(xué)生的基本狀況:??
function ShowInfo() //定義ShowInfo ()函數(shù)??
{??
echo (「姓名:$this->str_Name??

」);??
echo (「性別:$this->str_Sex???
echo (「性別:$this->str_Sex??;??
echo (「學(xué)號(hào):$this->int_Id??

」);??
echo (「英文成績:$this->int_English??

」); echo (“數(shù)學(xué)成績:$this->int_Maths??

”);??
}??

而定義好的類別則必須使用關(guān)鍵字來產(chǎn)生物件:?=new Student;??
例如我們要為一個(gè)名為$Wing的物件建立實(shí)例,並進(jìn)行賦值,可以使用下面的程式碼:??
$Wing =new Student; //用new關(guān)鍵字產(chǎn)生物件??
$Wing ->Input (“Wing”,”男”,33,95,87);??
//分別輸入Wing的姓名、性別、學(xué)號(hào)、英文成績、數(shù)學(xué)成績,其中姓名和性別是字元型變量,所以需要用雙引號(hào),其它為數(shù)值型變數(shù)則不需要。
透過下面這段完整的原始碼,我們可以很清楚的看到類別在PHP是怎麼被運(yùn)用的:??


class Student??
{??
var $str_Name ;??
var $str_Sex;??
var $int_Id;??
var $int_English;??
var $int_maths;?$Maths)??
{??
$this->str_Name=$Name;??
$this->str_Sex =$Sex;??
$this->int_Id =$Id; int_English=$English;??
$this->int_Maths=$Maths;??
}??
function ShowInfo()??
{?>”);??
echo (「性別:$this->str_Sex??

」);??
echo (「學(xué)號(hào):$this->int_Id??

」); ??>echo (「英文成績:$this->int_English??

」);??
echo (「數(shù)學(xué)成績:$this->int_Maths??

」); ??>}??


$Wing = new Student;??
$Wing->Input (「Wing」,」男」,33,95,87);??
;??
$Paladin->Input (「paladin」,」女」,38,58,59.5);??

$Wing->ShowInfo();??
$Paladin->ShowInfo();

?>??
執(zhí)行結(jié)果應(yīng)是這樣的:??
姓名:Wing??
性別:男??
學(xué)號(hào):33??姓名:Paladin??
性別:女??
學(xué)號(hào):38??
英文成績:58??
數(shù)學(xué)成績:59.5??
性別中的版本對(duì)物件導(dǎo)向程式設(shè)計(jì)的支援方面有了很大的改善,但支援的還不是很完整,不過現(xiàn)階段PHP對(duì)物件導(dǎo)向程式語言提供的支援不但有利於我們?cè)O(shè)計(jì)程式的結(jié)構(gòu),對(duì)於程式的維護(hù)也能提供很大的幫助。

全文出自 : cngnu



http://www.bkjia.com/PHPjc/314517.html

www.bkjia.com

true

http: //www.bkjia.com/PHPjc/314517.html

TechArticle

PHP 中的類別在闡述類別的概念之前我們來先說說物件導(dǎo)向程式設(shè)計(jì)的概念:物件導(dǎo)向的程式設(shè)計(jì)(Object-Oriented Programming,簡記為OOP)立意於創(chuàng)建軟體重...

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

如何設(shè)置PHP時(shí)區(qū)? 如何設(shè)置PHP時(shí)區(qū)? Jun 25, 2025 am 01:00 AM

tosetTherightTimeZoneInphp,restate_default_timezone_set()functionAtthestArtofyourscriptWithavalIdidentIdentifiersuchas'america/new_york'.1.usedate_default_default_timezone_set_set()

編寫清潔和可維護(hù)的PHP代碼的最佳實(shí)踐是什麼? 編寫清潔和可維護(hù)的PHP代碼的最佳實(shí)踐是什麼? Jun 24, 2025 am 12:53 AM

寫乾淨(jìng)、易維護(hù)的PHP代碼關(guān)鍵在於清晰命名、遵循標(biāo)準(zhǔn)、合理結(jié)構(gòu)、善用註釋和可測(cè)試性。 1.使用明確的變量、函數(shù)和類名,如$userData和calculateTotalPrice();2.遵循PSR-12標(biāo)準(zhǔn)統(tǒng)一代碼風(fēng)格;3.按職責(zé)拆分代碼結(jié)構(gòu),使用MVC或Laravel式目錄組織;4.避免麵條式代碼,將邏輯拆分為單一職責(zé)的小函數(shù);5.在關(guān)鍵處添加註釋並撰寫接口文檔,明確參數(shù)、返回值和異常;6.提高可測(cè)試性,採用依賴注入、減少全局狀態(tài)和靜態(tài)方法。這些做法提升代碼質(zhì)量、協(xié)作效率和後期維護(hù)便利性。

如何使用PHP執(zhí)行SQL查詢? 如何使用PHP執(zhí)行SQL查詢? Jun 24, 2025 am 12:54 AM

Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas

如何在PHP中使用頁面緩存? 如何在PHP中使用頁面緩存? Jun 24, 2025 am 12:50 AM

PHP頁面緩存可通過減少服務(wù)器負(fù)載和加快頁面加載速度提升網(wǎng)站性能。 1.基本文件緩存通過生成靜態(tài)HTML文件並在有效期內(nèi)提供服務(wù),避免重複生成動(dòng)態(tài)內(nèi)容;2.啟用OPcache可將PHP腳本編譯為字節(jié)碼存儲(chǔ)在內(nèi)存中,提升執(zhí)行效率;3.對(duì)帶參數(shù)的動(dòng)態(tài)頁面,應(yīng)根據(jù)URL參數(shù)分別緩存,並避免緩存用戶特定內(nèi)容;4.可使用輕量級(jí)緩存庫如PHPFastCache簡化開發(fā)並支持多種存儲(chǔ)驅(qū)動(dòng)。結(jié)合這些方法能有效優(yōu)化PHP項(xiàng)目的緩存策略。

如何快速測(cè)試PHP代碼片段? 如何快速測(cè)試PHP代碼片段? Jun 25, 2025 am 12:58 AM

toquicklytestaphpcodesnippet,useanonlinephpsandboxlike3v4l.orgorphpize.onlineforinstantantantExecutionWithOutSetup; runco????delocalocallocallocallocallocallocallywithpplibycreatinga.phpfileandexecutingitviateringitviatheterminal;

如何升級(jí)PHP版本? 如何升級(jí)PHP版本? Jun 27, 2025 am 02:14 AM

升級(jí)PHP版本其實(shí)不難,但關(guān)鍵在於操作步驟和注意事項(xiàng)。以下是具體方法:1.確認(rèn)當(dāng)前PHP版本及運(yùn)行環(huán)境,使用命令行或phpinfo.php文件查看;2.選擇適合的新版本並安裝,推薦8.2或8.1,Linux用戶用包管理器安裝,macOS用戶用Homebrew;3.遷移配置文件和擴(kuò)展,更新php.ini並安裝必要擴(kuò)展;4.測(cè)試網(wǎng)站是否正常運(yùn)行,檢查錯(cuò)誤日誌確保無兼容性問題。按照這些步驟操作,大多數(shù)情況都能順利完成升級(jí)。

如何防止PHP中的跨站點(diǎn)偽造偽造(CSRF)攻擊? 如何防止PHP中的跨站點(diǎn)偽造偽造(CSRF)攻擊? Jun 28, 2025 am 02:25 AM

TopreventCSRFattacksinPHP,implementanti-CSRFtokens.1)Generateandstoresecuretokensusingrandom_bytes()orbin2hex(random_bytes(32)),savethemin$_SESSION,andincludetheminformsashiddeninputs.2)ValidatetokensonsubmissionbystrictlycomparingthePOSTtokenwiththe

PHP初學(xué)者指南:當(dāng)?shù)丨h(huán)境配置的詳細(xì)說明 PHP初學(xué)者指南:當(dāng)?shù)丨h(huán)境配置的詳細(xì)說明 Jun 27, 2025 am 02:09 AM

要設(shè)置PHP開發(fā)環(huán)境,需選擇合適的工具並正確安裝配置。 ①最基礎(chǔ)的PHP本地環(huán)境需要三個(gè)組件:Web服務(wù)器(Apache或Nginx)、PHP本身和數(shù)據(jù)庫(如MySQL/MariaDB);②推薦初學(xué)者使用集成包如XAMPP或MAMP,它們簡化了安裝流程,XAMPP適用於Windows和macOS,安裝後將項(xiàng)目文件放入htdocs目錄並通過localhost訪問;③MAMP適合Mac用戶,支持便捷切換PHP版本,但免費(fèi)版功能有限;④高級(jí)用戶可用Homebrew手動(dòng)安裝,在macOS/Linux系統(tǒng)中

See all articles