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

ホームページ バックエンド開発 PHPチュートリアル PHPオブジェクトにおけるクラスの継承アクセスタイプ制御の詳細(xì)説明

PHPオブジェクトにおけるクラスの継承アクセスタイプ制御の詳細(xì)説明

Jul 02, 2017 am 11:32 AM
php 物體

アクセス制御のタイプを使用すると、開発者は修飾子を使用してクラス內(nèi)のメンバーへのアクセスを制限できます。これは PHP5 の新機(jī)能であり、OOP 言語の重要な機(jī)能です。ほとんどの OOP 言語はすでにこの機(jī)能をサポートしています。 PHP5 は次の 3 つのアクセス修飾子をサポートしており、そのうちの 2 つはクラスのカプセル化で導(dǎo)入されています。ここでまとめると、アクセス制御修飾子には、public (パブリック、デフォルト)、プライベート (プライベート)、プロテクト (保護(hù)) が含まれます。それらの機(jī)能とそれらの違いを次の表に示します。

PHPオブジェクトにおけるクラスの継承アクセスタイプ制御の詳細(xì)説明

①パブリックアクセス修飾子 public

この修飾子を使用すると、クラス內(nèi)のメンバーにはアクセス制限がなく、すべての外部メンバーがアクセスできます。 PHP5 より前のすべてのバージョンでは、PHP のクラスのメンバーは public です。

②プライベートアクセス修飾子private

クラス內(nèi)のメンバーがプライベートとして定義されている場合、同じクラス內(nèi)のすべてのメンバーに対するアクセス制限はありませんが、クラスの外部コードは変更できず、操作することさえできません。このクラスのサブクラスでは、プライベートの変更されたメンバーにはアクセスできません。コードは次のとおりです。

<?php
    //聲明一個(gè)類作為父類使用,將它的成員都聲明為私有的
    class MyClass {
        private $var1=100;
 
        private function  printHello(){
            echo "hello<br>";     
        }
    }
 
    //聲明一個(gè)Myclass類的子類師徒訪問父類中的私有成員
    class MyClass2 extends MyClass{
        function useProperty(){
            echo "輸出從父類繼承過來的成員屬性值".$this ->var1."<br>";
            $this ->printHello();
        }
    }
 
    $subObj = new MyClass2();
    $subObj -> useProperty();       //調(diào)用子類對象中的方法實(shí)現(xiàn)對父類私有成員的訪問
?>

上記のコードでは、クラス MyClass が宣言され、クラス內(nèi)でプライベート メンバー屬性とプライベート
メンバー メソッド が宣言され、クラス MyClass を継承するクラス MyClass2 が宣言されています。サブクラス MyClass2 の親クラスのプライベート メンバーにアクセスします。ただし、親クラスのプライベートメンバーは自分のクラスでしか使用できないため、アクセスエラーが発生します。

③ 保護(hù)されたアクセス修飾子 protected

は、保護(hù)されたメンバーとして変更され、このクラスのサブクラスおよびサブクラスのサブクラスへのアクセス権を持ち、プロパティとメソッドを読み書きできます。ただし、このクラスの外部コードからはアクセスできません。また、このサブクラスの外部コードには、そのプロパティとメソッドに対する追加のアクセス許可がありません。上記例の親クラスのアクセス権をprotectedに変更することで、サブクラス內(nèi)では親クラスのメンバーにアクセスできるが、クラス外ではアクセスできないため、オブジェクトのカプセル化の目的も達(dá)成できます。コードは次のとおりです。

<?php
    class MyClass {
        protected $var1=100;
 
        protected function  printHello(){
            echo "hello<br>";     
        }
    }
 
    //聲明一個(gè)Myclass類的子類師徒訪問父類中的保護(hù)成員
    class MyClass2 extends MyClass{
        function useProperty(){
            echo "輸出從父類繼承過來的成員屬性值".$this ->var1."<br>";
            $this ->printHello();
        }
    }
 
    $subObj = new MyClass2();
    $subObj -> useProperty();       //調(diào)用子類對象中的方法實(shí)現(xiàn)對父類私有成員的訪問
 
    echo $subObj ->var1;         //試圖訪問類中受保護(hù)的成員,結(jié)果出錯(cuò)
?>
上記の例では、クラス MyClass のメンバーは protected 修飾子を使用して protected に設(shè)定されており、サブクラスで直接アクセスできます。ただし、サブクラス外の保護(hù)された変更されたメンバーにアクセスするとエラーになります。


以上がPHPオブジェクトにおけるクラスの継承アクセスタイプ制御の詳細(xì)説明の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

コメントする理由:PHPガイド コメントする理由:PHPガイド Jul 15, 2025 am 02:48 AM

phphastthreecommentStyles://,#forsingle-lineand/.../formulti-line.usecommentstoexplainwhycodeexists、whatittodo/fixmeitemsanddisablecodecodemcodecodecodecodemprianydedebugging.avoidoversingingsingingsingingsingingsingingsingingsingingsimmentingsimmentingsimplelatic.decratecentecentic.

WindowsにPHPをインストールする方法 WindowsにPHPをインストールする方法 Jul 15, 2025 am 02:46 AM

WindowsにPHPをインストールするための重要な手順には次のものがあります。1。適切なPHPバージョンをダウンロードして解凍します。 apacheでthreadsafeバージョンまたはnginxを使用して非threadsafeバージョンを使用することをお?jiǎng)幛幛筏蓼埂?2。php.iniファイルを構(gòu)成し、php.ini-developmentまたはphp.ini-productionにphp.iniに名前を変更します。 3.コマンドラインの使用のために、システム環(huán)境変數(shù)パスにPHPパスを追加します。 4. PHPが正常にインストールされているかどうかをテストするには、コマンドラインを介してPHP-Vを?qū)g行し、組み込みサーバーを?qū)g行して解析機(jī)能をテストします。 5.Apacheを使用する場合、httpd.confでPを構(gòu)成する必要があります

PHP構(gòu)文:基本 PHP構(gòu)文:基本 Jul 15, 2025 am 02:46 AM

PHPの基本的な構(gòu)文には4つのキーポイントが含まれています。1。PHPタグを終了する必要があり、完全なタグの使用が推奨されます。 2。エコーと印刷は、一般的に出力コンテンツに使用されます。その中には、エコーは複數(shù)のパラメーターをサポートし、より効率的です。 3。注釈方法には、コードの読みやすさを改善するための//、#、//が含まれます。 4.各ステートメントはセミコロンで終了する必要があり、スペースとラインブレークは実行に影響を與えず、読みやすさに影響します。これらの基本的なルールを習(xí)得すると、明確で安定したPHPコードの作成に役立ちます。

PHP 8インストールガイド PHP 8インストールガイド Jul 16, 2025 am 03:41 AM

ubuntuにphp8をインストールする手順は次のとおりです。1。ソフトウェアパッケージリストを更新します。 2。PHP8および基本コンポーネントをインストールします。 3.バージョンを確認(rèn)して、インストールが成功していることを確認(rèn)します。 4.必要に応じて追加のモジュールをインストールします。 Windowsユーザーは、ZIPパッケージをダウンロードおよび解凍し、構(gòu)成ファイルを変更し、拡張機(jī)能を有効にし、環(huán)境変數(shù)へのパスを追加できます。 MacOSユーザーは、HomeBrewを使用してインストールし、TAPの追加、PHP8のインストール、デフォルトバージョンの設(shè)定、バージョンの検証などの手順を?qū)g行することをお?jiǎng)幛幛筏蓼?。インストール方法は異なるシステムで異なりますが、プロセスは明確であるため、目的に応じて適切な方法を選択できます。

PHPとは何ですか?それは何に使用されますか? PHPとは何ですか?それは何に使用されますか? Jul 16, 2025 am 03:45 AM

phpisaserver-sidesscriptinglanguageUsedforwebdevelopment、特にfordynamicwebsitesandcmsplatformslikewordpress.itrunsontheserver、processesdata、interactswithdatabases、andsendshtmltobrowsers.commonusesincludeurauthingication、e-commerceplatoblatoblotoftoflotfontiblotionforthentication

Python他の例 Python他の例 Jul 15, 2025 am 02:55 AM

PythonのIfelseステートメントを書くための鍵は、論理構(gòu)造と詳細(xì)を理解することです。 1.インフラストラクチャは、條件が確立されている場合、コードを?qū)g行することです。 2.多條件判斷はElifで実施され、順次実行され、満たされると停止します。 3。ネストされている場合、さらに區(qū)畫の判斷に使用されている場合、2つの層を超えないことをお?jiǎng)幛幛筏蓼埂?4.単純なシナリオでは、単純なifelseを置き換えるために、三元式を使用できます。インデント、條件付き順序、論理的完全性に注意を払うことによってのみ、明確で安定した判斷コードを書くことができます。

最初のPHPスクリプト:実用的な紹介 最初のPHPスクリプト:実用的な紹介 Jul 16, 2025 am 03:42 AM

最初のPHPスクリプトの書き始め方法は?まず、ローカル開発環(huán)境をセットアップし、XAMPP/MAMP/LAMPをインストールし、テキストエディターを使用してサーバーの実行原則を理解します。第二に、hello.phpというファイルを作成し、基本コードを入力してテストを?qū)g行します。第三に、PHPとHTMLを使用して動(dòng)的なコンテンツ出力を?qū)g現(xiàn)することを?qū)Wびます。最後に、セミコロンの欠落、引用の問題、ファイル拡張エラーなどの一般的なエラーに注意し、デバッグのエラーレポートを有効にします。

PHPで未定義のインデックスを処理する方法 PHPで未定義のインデックスを処理する方法 Jul 15, 2025 am 02:08 AM

アレイに存在しないキーにアクセスされるため、「未定義のインデックス」エラーが発生します。ソリューションには次のものが含まれます。1。ISSET()を使用して、ユーザー入力の処理に適したキーが存在するかどうかを確認(rèn)します。 2。array_key_exists()を使用して、キーが設(shè)定されているかどうかを判斷し、値がnullであっても認(rèn)識(shí)できます。 3.空のマージオペレーターを使用しますか??未定義のキーに直接アクセスしないようにデフォルト値を設(shè)定するには。さらに、フォームフィールド名の綴りなどの一般的な問題に注意を払う必要があります。データベースの結(jié)果は空です。配列の開梱は確認(rèn)されず、子キーがforeachをチェックインせず、session_start()は呼び出されません。

See all articles