php私有成員,php私有成員關鍵詞

本文目錄一覽:

3、 一個類的公共成員與私有成員有何區別

公共成員與私有成員有何區別:

一、public(公共成員)

public,顧名思義,就是公開的數據信息,可以在程序中的任何位置(類內,類外),被其他類的對象調用,子類可以繼承和使用父類中的公共成員。

二、private(私有成員)

被private關鍵字修飾的變量和方法,只能在所屬類的內部被調用和修改,不可以在類外被訪問,在子類中也不可以被訪問。

相關概念:

PHP語法學習了C語言,吸納Java和Perl多個語言的特色發展出自己的特色語法,並根據它們的長項持續改進提升自己,例如java的面向對象編程。

該語言當初創建的主要目標是讓開發人員快速編寫出優質的web網站。PHP同時支持面向對象和面向過程的開發,使用上非常靈活。

經過二十多年的發展,隨着php-cli相關組件的快速發展和完善,PHP已經可以應用在 TCP/UDP服務、高性能Web、WebSocket服務、物聯網、實時通訊、遊戲、微服務等非 Web 領域的系統研發。

以上內容參考:百度百科-php

php,子類無法訪問父類私有屬性,子類實例化再賦值後,子類所添加的新成員屬性不存在

我把涉及到這個問題的知識點,可以和大家分享一下:

1.父類humanBeing , 子類student , 實例對象 $m (注意:$m是子類student 的實例,和humanBeijing沒有直接關係)

2.private 的屬性.僅在本類里使用;任何子類、實例對象都無法訪問,更別說賦值。這個在書本上都一直是這麼說滴。。哈哈。。。

根據以上知識點,來看你這個問題:

$student1=new student;

/*實例一個student的對象,此時注意,這個對象並不會繼承父類humanBeing的三個 private變量$name,$age,$gender*/

$student1-name=’zhangsan’;

$student1-age=20;

$student1-gender=’male’;

/*這裡需要注意.很多人會誤以為是給父類humanBeing的三個屬性賦值了,這是錯的。這裡的賦值,僅僅是給子類student的三個屬性賦值,這裡也許會有人問,子類student那有什麼屬性呀?在php中,所有的變量,不要求申明,在類中屬性也是一樣的,不要求申明,而且類中,默認都是public。所以上面的這三行代碼,僅僅是子類student的三個屬性賦值,和父類humanBeing的三個屬性,沒有任何關係,僅僅名字一樣而已*/

function say(){

echo “My name is {$this-name} and I am {$this-age} years old. I am {$this-gender}.br /”;

}

/*這個是父類humanBeing的公有方法,(默認的是public的),這個方法中 $this – name.這裡的$this 是指父類student,$this – name是指父類student的屬性,從始至終,它並沒有被賦值,所以它是空的,(而且它也不能被賦值,因為是private),這裡的$student1-name=’zhangsan’;賦值操作,僅僅是修改子類student的$name */

我想這麼回答,你應該非常清楚了吧

再來理解後面的例子,就很容易了。

$m-name=”zhangsan”;

/*僅僅是給子類Man的屬性賦值,而且因為可以省略聲明,默認又是public的,所以能直接賦值,當然也可以輸出了*/

class Person{

private $name;

}

/*可以直接把private $name;去掉,因為後面的賦值,跟它沒有任何關係,直接修改成*/

class Person{

}

PHP中private和public還有protected的區別

1、private修飾詞,表示成員是私有的,只有自身可以訪問; 2、protected,表示受保護權限,體現在繼承,即子類可以訪問父類受保護成員,同時相同包內的其他類也可以訪問protected成員。

在PHP中,如何在類外部操作私有成員?

若想在類外部操作類的私有成員,請在類內部使用__get()和__set()兩個方法:

class model{

function __set($name,$value){

$this-$name=$value;

}

function __get($name){

return $this-$name;

}

}

echo $aa-name;

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/292724.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-25 18:38
下一篇 2024-12-25 18:38

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種數據庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論