dim private public static_PHP中const,static,public,private,protected的區別

const: 定義常量,一般定義后不可改變

static: 靜態,類名可以訪問

public: 表示全局,類內部外部子類都可以訪問;

private: 表示私有的,只有本類內部可以使用;

protected: 表示受保護的,只有本類或子類或父類中可以訪問;

定義常量也可用?define?定義。

const與define在定義常量時會有如下區別:

  1. const用于類成員變量,一經定義不可修改,define用于全局常量,不可用于類成員變量的定義,?
    const可在類中使用,define不能。

  2. const定義的常量大小寫敏感,而define可通過第三個參數(為TRUE表示大小寫不敏感)來指定大小寫是否敏感。?
    在運行時定義一個常量。define('TXE',100,TRUE);

  3. const不能在條件語句中定義常量,而define函數可以。if($a>10){define('LE','hello');}

class Demo
{
//定義常量【自php5.3后】,一個常量是屬于一個類的,而不是某個對象的
//不可改變的
const EVENT = 'const';
static $event = 'static';
public $eventPublic = 'public';
private $eventPrivate = 'private';
protected $eventProtected = 'protected';
public function test()
{
//使用self訪問類中定義的常量
echo self::EVENT.'
';
//同常量一樣使用self
echo self::$event.'
';
//公共變量,受保護的變量,私密的變量通過$this訪問
echo $this->eventPublic.'
';
//受保護的和私密的變量只能在當前類中訪問
echo $this->eventPrivate.'
';
echo $this->eventProtected.'
';
}
//魔術方法
public function __get($name)
{
return $this->$name;
}
}
class One extends Demo
{
public function testOne()
{
//可繼承父級使用parent訪問
echo parent::EVENT.'
';
echo parent::$event.'
';
//也可通過父類直接訪問
echo Demo::EVENT.'
';
echo Demo::$event.'
';
//繼承父級中的成員變量后,只能訪問公共變量
//私有變量和受保護的變量不能在子類中訪問
echo $this->eventPublic;
}
}
$obj_1 = new Demo;
$obj_1->test();
echo "=================
";
$obj = new One;
$obj->testOne();

運行結果:

const
static
public
private
protected
=================
const
static
const
static
public

dc82bab6ca3fedcafa431869b7d88ed7.png

更多精彩

敬請關注“PHP技術大全”微信公眾號

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276651.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276651.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276651.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#圖解教程 第六章 深入理解類

深入理解類 類成員 前兩章闡述了9種類成員中的兩種:字段和方法。本章將會介紹除事件(第14章)和運算符外的其他類成員,并討論其特征。 成員修飾符的順序 字段和方法的聲明可以包括許多如public、private這樣的修飾符。本章還會討論許多其他修飾符。多個修…

Apache用戶身份驗證

原文鏈接:http://www.yylog.org/?p4830 Apache用戶身份驗證 在apache應用過程中,管理員經常需要對apache下的目錄做一些限制,不希望所有用戶都能訪問該目錄下的文件,只對指定用戶訪問,此時我們就要用到apache用戶身…

攜程elong相繼牽手支付寶轉“危”為“機”

新華網浙江頻道1月16日電 自電子機票全面普及以來,航空公司機票直銷的力度不斷加強正給傳統的機票代理甚至在線旅游平臺帶來了極大的生存壓力。 而面對危機,在進一步豐富自身產品服務之外,大的在線旅行平臺也終于找到對策。繼eLong此前與支付…

c# 獲取word表格中的內容_Java 獲取、刪除Word文本框中的表格

本文介紹如何來獲取Word文本框中包含的表格,以及刪除表格。程序測試環境包括:IDEAJDK 1.8.0Spire.Doc.jar注:jar導入,可通過創建Maven程序項目,并在pom.xml中配置Maven倉庫路徑,并指定Free Spire.Doc for J…

Array.prototype.reduce 的理解與實現

Array.prototype.reduce 是 JavaScript 中比較實用的一個函數,但是很多人都沒有使用過它,因為 reduce 能做的事情其實 forEach 或者 map 函數也能做,而且比 reduce 好理解。但是 reduce 函數還是值得去了解的。 reduce 函數可以對一個數組進行…

PS摳圖方法[photoshop中文教程]

PS摳圖方法 一、魔術棒法——最直觀的方法   適用范圍:圖像和背景色色差明顯,背景色單一,圖像邊界清晰。   方法意圖:通過刪除背景色來獲取圖像。   方法缺陷:對散亂的毛發沒有用。   使用方法&#xff1a…

我的核心技術都是從哪里學到的?如何提高成長的?分享給大家。

1997年,我在讀黑龍江大學讀大二時,我認識了一個內蒙古大學計算機專業畢業的一個高材生,那時我那朋友引導了我很多,他那時候在我們家那邊開一個IT公司,他知道如何靠IT技術賺錢,如何靠程序等賺錢,…

python線性回歸算法簡介_Python實現的簡單線性回歸算法實例分析

本文實例講述了Python實現的簡單線性回歸算法。分享給大家供大家參考,具體如下: 用python實現R的線性模型(lm)中一元線性回歸的簡單方法,使用R的women示例數據,R的運行結果: > summary(fit) Call: lm(formula weig…

Object/Relation Mapping 對象關系映射

對象-關系映射(Object/Relation Mapping,簡稱ORM),是隨著面向對象的軟件開發方法發展而產生的。面向對象的開發方法是當今企業級應用開發環境中的主流開發方法,關系數據庫是企業級應用環境中永久存放數據的主流數據存儲…

FastReport使用方法(C/S版)

前言 這兩天群里一直有群友問一些關于FastReport的問題,結合他們的問題,在這里做一個整理,有不明白的可以加 FastReport 交流群 群 號:554714044 工具 VS2017 FastReport 開始 1.新建項目,添加三個按鈕。預覽、設計、…

如何設置Linux時區為東八區

當我們購買美國VPS或服務器的時候,默認情況下是美國時間。對于我們定時執行某些任務會帶來麻煩,所以需要設置時區為東八區。登錄SSH后,執行tzselect命令。我們這里選擇亞洲5.這里選擇china 9。一般選東八區(北京,廣東&…

python刪除兩個excel表中的相同元素_python篩選出兩個文件中重復行的方法

查找A文件中&#xff0c;與B文件中內容不重復的內容#!usr/bin/python import sys import os字符串查找函數&#xff0c;使用二分查找法在列表中進行查詢def binarySearch(value, lines): right len(lines) - 1 left 0 a value.strip() while left < right: middle int((…

求解:nhibernate2.0操作oralce提交事務時報錯

代碼如下: Configuration config new Configuration(); config.AddAssembly("TestCleanSnow"); ISessionFactory factory config.BuildSessionFactory(); ISession session f…

python畫楓葉_python-文件的操作

一、異常 程序在運行的過程中&#xff0c;不可避免出現一些錯誤&#xff0c;這些錯誤成為異常 異常以后的代碼都不會被執行 try 語句 代碼塊&#xff08;可能出現錯誤的語句&#xff09; except 異常類型 as 異常名: 代碼塊(出錯以后執行的語句&#xff09; except 異常類型 as…

記2018年技術人一次短暫的創業

背景 2018年8月底&#xff0c;我全職加入了一家創業公司&#xff0c;具體做什么我暫時先不說吧&#xff0c;我是產品和技術負責人&#xff0c;自己出資了50w&#xff0c;大股東&#xff08;下面簡稱T)也就是ceo是早期阿里出身的中供銷售&#xff0c;從2017年11月開始成立此公司…

如何在Apache環境下配置Rewrite規則

原文鏈接&#xff1a;http://faq.comsenz.com/viewnews-12 URL 靜態化是一個利于搜索引擎的設置&#xff0c;通過 URL 靜態化&#xff0c;達到原來是動態的 PHP 頁面轉換為靜態化的 HTML 頁面&#xff0c;當然&#xff0c;這里的靜態化是一種假靜態&#xff0c;目的只是提高搜…

情 人 節 快 樂

我不善于用詞匯修飾我的句子&#xff0c; 我不善于用表情表達我的心情&#xff0c; 我不善于解讀你那黯然的情緒&#xff0c; 我不善于去響應你小小的呼應&#xff0c; 雖然&#xff0c;你了解我&#xff0c; 你寬容于我&#xff0c; 你聽我訴說&#xff0c; 你陪伴著我…

Windows 10系統安裝JDK1.8與配置環境

第一步&#xff1a;下載JDK1.8 地址:https://www.oracle.com/index.html 第二步&#xff1a; 安裝分兩次&#xff0c;第一次是安裝 jdk &#xff0c;第二次是安裝 jre 。安裝jdk默認的安裝地址為C盤&#xff0c;安裝目錄 \java 之前的目錄修改成你想放的目錄&#xff1b;安裝jr…

python3函數調用時間_Python3 time clock()方法

Python3 time clock()方法 描述 Python 3.8 已移除 clock() 方法 可以使用 time.perf_counter() 或 time.process_time() 方法替代。 Python time clock() 函數以浮點數計算的秒數返回當前的CPU時間。用來衡量不同程序的耗時&#xff0c;比time.time()更有用。 這個需要注意&am…

給apache安裝mod_rewrite模塊

給apache安裝mod_rewrite模塊 原文鏈接&#xff1a;http://opkeep.com/system/linux/apache_mod_rewrite.html 只是用來做參考,相關情況可跟據自己的需求進行修改 如果你的服務器apache還沒有安裝&#xff0c;那很簡單&#xff0c;在編譯apache時將mod_rewrite模塊編譯進去就可…