亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 php教程 php手冊(cè) 關(guān)于PHP中的Class的幾點(diǎn)個(gè)人看法

關(guān)于PHP中的Class的幾點(diǎn)個(gè)人看法

Jun 21, 2016 am 09:15 AM
class name quot

以我的觀點(diǎn)來說說PHP中的Class,用于表達(dá)的語言都是非正式的語言,也不能確定是否正確。

建立一個(gè)類很簡(jiǎn)單:

class my_class {}


  類到底干什么呢?很多人都說是什么黑匣子,我在這里稱它為一個(gè)獨(dú)立的整體。我們只知道類名,而不知道里面有什么東西。那么,該如何使用這個(gè)類呢?
  首先:要知道它里面是否定義了公共的變量--專業(yè)術(shù)語上稱它為“屬性”。
  其次:要知道它里面定義了什么函數(shù)--專業(yè)術(shù)語中稱它為“方法”。
  我都被這些專業(yè)術(shù)語搞糊涂了,所以干脆不理它了。

  類中的如何定義公共變量,它有什么作用呢?

  很簡(jiǎn)單,我們來擴(kuò)充 my_class 類:

class my_class
{
var $username;
}


  看上面很簡(jiǎn)單,我們定義了一個(gè)公共的變量,只是用 var+空格+普通變量名 構(gòu)成。它有什么用呢?考慮一下函數(shù)中,如果我們要訪問函數(shù)外的變量,是不是要先 global 一下呢?這個(gè)想實(shí)現(xiàn)的效果也是如此,它是想讓這個(gè)類中的所有函數(shù)都能訪問它,而它區(qū)別于函數(shù)的一個(gè)地方,是類的外部也可以隨時(shí)訪問和控制這個(gè)變量,我隨后再講外部如何訪問它。還有一個(gè)區(qū)別,不能用復(fù)雜的語句給這個(gè)變量賦值(具體的等理解了類以后自己去看規(guī)則)。

  給它一個(gè)默認(rèn)值:

class my_class
{
var $username = "深空";
}


  OK,定義了一個(gè)公共的變量了,接下來定義一個(gè)函數(shù)(也就是所謂的“方法”):

class my_class
{
var $username = "深空";

function show_username()
{
}
}


  這個(gè)定義函數(shù)跟普通的定義函數(shù)形式上沒什么區(qū)別了。簡(jiǎn)單就好,定義一個(gè)打印 $username 的函數(shù):

class my_class
{
var $username = "深空";

function show_username($username)
{
echo $username;
}
}


  到這里可能某些人開始迷糊了,呵呵,最關(guān)鍵的就是這里了,看清楚了?,F(xiàn)在有三個(gè) $username 了。到底哪個(gè)是哪個(gè)啊~~

  函數(shù)所帶的形參,不用解釋了吧?這個(gè)函數(shù)功能就是打印形參所接收的值,也就是如果:

show_username("豬頭深空");


  那么它將打印 “豬頭深空” ,就這么簡(jiǎn)單。

  怎么樣訪問這個(gè)函數(shù)?肯定不是我上面說的那樣直接 show_username("豬頭深空"); 了,別急,類有類的一套。如下:

$Name = new my_class();


  這樣就初始化上面的那個(gè) my_class 的類了,并把這個(gè)對(duì)象賦給變量 $Name ,你可以這樣理解,這個(gè)變量就代表整個(gè)類了,呵呵。

  使用類中的函數(shù):

$Name->show_username("豬頭深空");


  暈了,為什么這么復(fù)雜?還要箭頭?其實(shí)很形象的。本來已經(jīng)把類給了變量 $Name 了是吧?也就是 $Name 代表了這個(gè)類,然后用一個(gè)箭頭指向類中的 show_username 這個(gè)函數(shù)。就是這么簡(jiǎn)單,也就是說,這個(gè)函數(shù)是這個(gè)類中的,而不是其他的函數(shù)--你就理解為表示一個(gè)區(qū)別吧,呵呵。

  試試看哦,打印出 “豬頭深空” 這四個(gè)字了。你說為什么要這么復(fù)雜?用函數(shù)不是也能實(shí)現(xiàn)么?我說,這么簡(jiǎn)單的你當(dāng)然看不出好處了,我們繼續(xù)擴(kuò)充。

  還有一個(gè)疑問是:剛才說的“公共的變量”怎么一點(diǎn)用處都沒有呢?為什么這個(gè)函數(shù)不會(huì)自動(dòng)接收這個(gè)公共變量 var $username 中的默認(rèn)值?也就是如果我使用:

$Name->show_username($username);


  會(huì)有什么結(jié)果呢?答案是沒有任何輸出。因?yàn)槟銢]有給形參 $username 一個(gè)值。

  那么該怎么使用這個(gè)公共的變量?我們來修改一下這個(gè)類:

class my_class
{
var $username = "深空";

function show_username()
{
echo $this->username;
}
}


  哇靠,不是吧,這回連形參都沒有了?還多了一個(gè)$this->,暈了不是,呵呵。其實(shí)這也是類的一個(gè)最大的方便之處。
  $this 的作用:訪問一個(gè)公共的變量,或者類里面的函數(shù)。
  訪問?這么專業(yè)?其實(shí)就是用 $this->username 來代替 var $username 而已拉,$this 用來說明它是公共的、可以訪問的、函數(shù)外部的東西(比如其他變量或函數(shù))。

試試看:

$Name->show_username();


  看到了吧,終于打印 “深空” 這兩個(gè)字了,娃哈哈。

  我不打印“深空”這兩個(gè)字,我要打印“豬頭深空”,怎么辦?很簡(jiǎn)單,我們給這個(gè)公共變量重新賦值拉。服了你了。

$Name->username = "豬頭深空";


  這個(gè)能明白意思么?$Name->username 表示的是類里面的這個(gè)公共變量。等號(hào)賦值不用我解釋了。

  我們?cè)賮泶蛴】纯矗?br>
$Name->show_username();


  哈哈,終于打印“豬頭深空”了。不錯(cuò)吧,很方便吧,不用形參也能任意修改打印值哦~~。

  不過單單打印一個(gè)名稱也太沒意思了,我們說點(diǎn)歡迎的話吧,來擴(kuò)充一下這個(gè)類,創(chuàng)建一個(gè)名叫 Welcome 的函數(shù):

class my_class
{
var $username = "深空";

function show_username()
{
echo $this->username;
}

function Welcome()
{
}
}


  恩,實(shí)現(xiàn)什么功能好呢?簡(jiǎn)單點(diǎn)吧,就實(shí)現(xiàn)在名字前面有 “歡迎” 兩個(gè)字好了

class my_class
{
var $username = "深空";

function show_username()
{
echo $this->username;
}

function Welcome()
{
echo "歡迎";
$this->show_username();
}
}


  第二次看到 $this 了吧?和上次有點(diǎn)不同,$this->show_username(); 干什么用呢?指向類中的一個(gè)函數(shù),其實(shí)它就是調(diào)用 show_username 這個(gè)函數(shù),用 $this 來表示這個(gè)函數(shù)在類中并且和 Welcome 函數(shù)平行,而不是在其他地方(比如Welcome函數(shù)中)。

  Welcome 函數(shù)實(shí)現(xiàn)的功能很簡(jiǎn)單,首先打印兩個(gè)字"歡迎",然后接下去執(zhí)行 show_username 函數(shù),打印名字。

  來試試這個(gè)函數(shù)吧:

$Name->Welcome();


  看到了吧,打印出“歡迎深空”這四個(gè)字了。

  可是我要打印“歡迎豬頭深空”,怎么辦?我服了你了,我們給公共變量 var $username 一個(gè)值吧:

$Name->username = "豬頭深空";


  接下去打印歡迎語:

$Name->Welcome();


  嘿嘿,終于打印“歡迎豬頭深空”了。

  怎么樣?明白了類的用法了么?好處在于能夠調(diào)用類中的任意函數(shù),只要用 $this 指出來,可以改變一個(gè)公共變量的值,可以在類中的函數(shù)中使用這個(gè)公共變量?!嗔巳チ?,它的應(yīng)用等待你去發(fā)現(xiàn)了。



本網(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)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
Python中的class類別和method方法的使用方法 Python中的class類別和method方法的使用方法 Apr 21, 2023 pm 02:28 PM

類別和方法的概念和實(shí)例類別(Class):用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個(gè)物件所共有的屬性和方法。物件是類別的實(shí)例。方法:類別中定義的函數(shù)。類別的建構(gòu)方法__init__():類別有一個(gè)名為init()的特殊方法(建構(gòu)方法),該方法在類別實(shí)例化時(shí)會(huì)自動(dòng)呼叫。實(shí)例變數(shù):在類別的宣告中,屬性是用變數(shù)來表示的,這種變數(shù)就稱為實(shí)例變量,實(shí)例變數(shù)就是用self修飾的變數(shù)。實(shí)例化:建立一個(gè)類別的實(shí)例,類別的具體物件。繼承:即一個(gè)派生類別(derivedclass)繼承基底類別(baseclass)的

python中class是什麼意思 python中class是什麼意思 May 21, 2019 pm 05:10 PM

class是python中的一個(gè)關(guān)鍵字,用來定義一個(gè)類,定義類別的方法:class後面加一個(gè)空格然後加類名;類名規(guī)則:首字母大寫,如果多個(gè)單字用駝峰命名法,如【class Dog()】。

使用jQuery替換元素的class名稱 使用jQuery替換元素的class名稱 Feb 24, 2024 pm 11:03 PM

jQuery是一種經(jīng)典的JavaScript庫,被廣泛應(yīng)用於網(wǎng)頁開發(fā)中,它簡(jiǎn)化了在網(wǎng)頁上處理事件、操作DOM元素和執(zhí)行動(dòng)畫等操作。在使用jQuery時(shí),常會(huì)遇到需要取代元素的class名稱的情況,本文將介紹一些實(shí)用的方法,以及具體的程式碼範(fàn)例。 1.使用removeClass()和addClass()方法jQuery提供了removeClass()方法來刪除

Vue報(bào)錯(cuò):無法正確使用v-bind綁定class和style,怎麼解決? Vue報(bào)錯(cuò):無法正確使用v-bind綁定class和style,怎麼解決? Aug 26, 2023 pm 10:58 PM

Vue報(bào)錯(cuò):無法正確使用v-bind綁定class和style,怎麼解決?在Vue開發(fā)中,我們常常會(huì)用到v-bind指令來動(dòng)態(tài)綁定class和style,但是有時(shí)候我們可能會(huì)遇到一些問題,如無法正確使用v-bind綁定class和style。在本篇文章中,我將為你解釋這個(gè)問題的原因,並提供解決方案。首先,讓我們先來了解v-bind指令。 v-bind用於將V

解決'[Vue warn]: v-bind:class/ :class”錯(cuò)誤的方法 解決'[Vue warn]: v-bind:class/ :class”錯(cuò)誤的方法 Aug 26, 2023 am 08:17 AM

解決「[Vuewarn]:v-bind:class/:class」錯(cuò)誤的方法在使用Vue開發(fā)過程中,我們常常會(huì)遇到一些錯(cuò)誤提示,其中一個(gè)常見的錯(cuò)誤就是「[Vuewarn]:v-bind:class /:class”錯(cuò)誤。這個(gè)錯(cuò)誤提示通常出現(xiàn)在我們使用v-bind:class或:class屬性時(shí),表示Vue無法正確解析我們?cè)O(shè)定的class值。那麼,如

PHP Class用法詳解:讓你的程式碼更清楚易讀 PHP Class用法詳解:讓你的程式碼更清楚易讀 Mar 10, 2024 pm 12:03 PM

在編寫PHP程式碼時(shí),使用類別(Class)是一個(gè)非常常見的做法。透過使用類,我們可以將相關(guān)的功能和資料封裝在一個(gè)單獨(dú)的單元中,使程式碼更加清晰、易於閱讀和易於維護(hù)。本文將詳細(xì)介紹PHPClass的用法,並提供具體的程式碼範(fàn)例,幫助讀者更好地理解如何在實(shí)際專案中應(yīng)用類別來優(yōu)化程式碼。 1.建立和使用類別在PHP中,可以使用關(guān)鍵字class來定義一個(gè)類,並在類別中定義屬性和方法。

jquery怎麼判斷元素是否有class jquery怎麼判斷元素是否有class Mar 21, 2023 am 10:47 AM

jquery判斷元素是否有class的方法:1、透過「hasClass('classname')」方法判斷元素是否具有某個(gè)class;2、透過「is('.classname')」方法判斷元素是否具有某個(gè)class。

php提交表單通過后,彈出的對(duì)話框怎樣在當(dāng)前頁彈出,該如何解決 php提交表單通過后,彈出的對(duì)話框怎樣在當(dāng)前頁彈出,該如何解決 Jun 13, 2016 am 10:23 AM

php提交表單通過后,彈出的對(duì)話框怎樣在當(dāng)前頁彈出php提交表單通過后,彈出的對(duì)話框怎樣在當(dāng)前頁彈出而不是在空白頁彈出?想實(shí)現(xiàn)這樣的效果:而不是空白頁彈出:------解決方案--------------------如果你的驗(yàn)證用PHP在后端,那么就用Ajax;僅供參考:HTML code

See all articles