ホームページ バックエンド開発 PHPチュートリアル PHP 学習メモ PHP の 3 つの主要なオブジェクト指向機能の 1 つの応用 [カプセル化]_PHP チュートリアル

PHP 学習メモ PHP の 3 つの主要なオブジェクト指向機能の 1 つの応用 [カプセル化]_PHP チュートリアル

Jul 21, 2016 pm 03:28 PM
php コード コピー 勉強 物体 カプセル化 応用 特性 ノート のために

コードをコピーします コードは次のとおりです:

/*
* カプセル化: オブジェクト指向の 3 つの主要な特徴の 1 つ
*
* 1. オブジェクトのメンバー (プロパティ、メソッド) を独立した同一のユニットに結合することです。内部の詳細
* アクセス許可修飾子 public protected private
* private: private、このキーワードで変更されたメンバーはオブジェクト内でのみアクセス可能 ($this でのみアクセス可能)
*
* プロパティはencapsulated:
* 変数を複数のメソッドで使用する必要がある限り、この変数をメンバー属性として宣言します。このオブジェクトのすべてのメソッドで直接使用できます。
*
* メンバー属性は、このオブジェクトのグローバル変数と同等です。オブジェクト。
*
* メンバー属性はメソッド内で使用されます。メンバー属性値の変更は、実際にはメソッドの実行動作を変更します。つまり、オブジェクトの関数が変更されます。
*
* メンバーの値の場合属性が異常な場合、メソッドによって実行される関数も異常になります
*
* 機能: オブジェクトの外でその値を変更したり読み込んだりする必要はありません
* 1.
* をカプセル化し、パブリック メソッド (オブジェクトのメンバー属性) を提供しますメソッドを介して値を割り当てたり取得したりすることで制御できます)
*
*
* メソッドはカプセル化することもできます
*
* 機能:
* 1. 内部でのみ使用できるようにプライベート変更を使用します
*
* 2. クラスには 100 個のメソッドがあり、そのうち 95 個はカプセル化されており (他の 5 つのメソッドを提供)、使用できるメソッドは 5 つだけです
*
* 100 個のメンバー属性、すべて値が取得され、値変更できない、または値は変更できるが値を取得できない // この場合、次のメソッドを使用すると便利です
* カプセル化に関連するマジック メソッド:
*
* __set();/ /[プライベート]メンバーの属性値を直接設定する際に自動で呼び出されるメソッドです
* __get();//[プライベート]メンバーを直接取得する場合に自動で呼び出されるメソッドです
* __isset();/ / isset() を直接使用して、オブジェクトにプライベート属性が存在するかどうかを確認します。このメソッドは自動的に呼び出されます
* __unset();// にプライベート属性がある場合、直接 unset() を使用して削除します。オブジェクトのメソッドは自動的に呼び出されます
*
*
*
*
*
*
*
*/
class Person{
//x はメンバー属性をカプセル化し、オブジェクトの外部で変更する必要はありません
private $ name;
private $age;
private $sex;
private __unset($proName){
} //このメソッドは、プライベート プロパティが存在するかどうかを直接確認するときに自動的に呼び出されます。オブジェクトが存在します
//__isset($proName) の使用、$proName は属性名を表します
private function __isset($proName){
return isset($this->$proName);//isset() は、存在します
}
function __construct($name,$age,$sex){
$this->name=$name;
$this->sex=$sex; ;
}
// プライベートメンバー属性を取得すると、このメソッドが自動的に呼び出されます
private function __get($proName)
{
// 取得した値を制御します
if($proName=="age"){
if( $this-age> 40)
return $this->age-10;
}
//プライベートメンバープロパティを設定するとき、このメソッドは自動的に呼び出されます
private function __set ($proName, $proValue){
//$proNameはメンバー属性名、$proValueはメンバー属性値を表す
//設定範囲を制御する
if($proName=="age"){
if($proValue > 100 || $proValue}
$this->$proName=$proValue;
//メンバー属性の値を設定する
function setAge($age){
//年齢範囲を制御し、セキュリティを強化します
if($age > 100 || $age $this->age=$age;
//取得するパブリック メソッドを提供します。メンバー属性の値
function getAge( ){
//年齢の範囲を制御
if($this->age return $this->age
else if($this->age;年齢return $this->age-5;
else if($this->agereturn $this->age-15;
public メソッドを提供する}
function Say (){
echo "私の名前: {$this->name}、私の年齢: {$this->age}、私の姓: {$this->sex }
" ;
//カプセル化された run() メソッドにアクセスします
$this-run();
}
private function run(){
echo '111111111111
'
}
function Eat(){
}
// デストラクターメソッド
function __destruct(){
}
}
$p1=新しい人("zhangsan",25,"男")
$p3=新しい人; //$p1 ->age=-50;//age は外部から自由にアクセスできるため、セキュリティのためにメンバー属性はカプセル化されています。
$p1->setAge(30);//メソッドでメンバー属性値を設定
$p1->getAge();//メソッドでメンバー属性値を取得
//マジックメソッド_ _setを追加する($proName,$proValue) __get($proName)、メンバー属性を直接呼び出すことができます
$p1->say();//
$p1->run();//プライベート メソッドを呼び出すことができます直接呼び出すことはできません
//$p1 の名前を削除します
unset($p1->name);
//名前が存在するかどうかを判断します
if(isset($p1->name)){
echo "Exists< ; br>";
}else{
echo "そのようなメンバーはいません
";
}
?>


著者: コードネーム Aurora
出典: http://zizhuyuan.cnblogs.com

www.bkjia.com本当http://www.bkjia.com/PHPjc/323518.html技術記事次のようにコードをコピーします。 ?php /* * カプセル化: オブジェクト指向の 3 つの主要な特徴の 1 つ * * 1. オブジェクトのメンバー (プロパティ、メソッド) を独立した同一のユニットに結合し、それを非表示にすることです。できるだけ...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles