ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルでクラスとそのメンバーの属性と操作を定義する方法

PHP_PHP チュートリアルでクラスとそのメンバーの属性と操作を定義する方法

Jul 13, 2016 am 10:39 AM
php そして そして どうやって 意味 物体 属性 メンバー 操作する はい コンセプト 親切 集める

クラスの概念: クラスは、同じ属性と操作を持つオブジェクトのコレクションです。これは、このクラスに属するすべてのオブジェクトに対して統一された抽象的な説明を提供します。これには、属性と操作という 2 つの主要な部分が含まれます。オブジェクト指向プログラミング言語では、クラスは独立したプログラム単位であり、クラス名を持ち、属性の説明と操作の説明という 2 つの主要な部分を含む必要があります。


1. クラス定義:

i. クラスのキーワード定義には class を使用します


1. 空のクラスを定義します

クラス担当者{};

2. メンバー属性と操作を含むクラスを定義します

クラスの人{

メンバー属性....

クソ……

}

3. 継承できないクラスを定義し、final キーワードを使用します

最終クラスの人{

メンバー属性....

クソ……

}

4. 注: Final キーワードはメンバー属性の変更には使用できませんが、変更できるのはクラスとメソッドのみです (final メソッドについては後で紹介します)

5. ファイナルのクラスです

パブリック関数を含む最終クラス FinalClass を定義します

最終クラス FinalClass {

パブリック関数 ffun() {

echo "このクラスは最終クラスです";

}

}

クラスChildFinalClassを定義し、FinalClassクラスを継承します

class ChildFinalClass は FinalClass を拡張します {

パブリック関数 fchildfun() {

echo ‘このクラスは最終クラス FinalClass を継承します’;


}

}

上記のコマンドを実行すると、システムからプロンプトが表示されます


致命的なエラー: クラス ChildFinalClass は最終クラス (FinalClass) から継承できません


Final キーワードで定義されたクラスはサブクラスに継承できないことを証明します

2. クラス内のメンバー属性の定義

i. メンバー属性は、クラスとして定義された、一対の目 (Erlang Shen を除く通常)、口、2 つの耳、およびその他の固定属性を持ちます。何かを表現するものをメンバー属性と呼びます

ii. クラスのメンバープロパティの宣言で使用されるキーワード

iii. 共通のメンバー属性宣言は次のキーワードで構成されます
public、var、protected、private で始まり、変数が続きます。静的および定数 const を含むいくつかのメンバー属性もあります。

パブリック: グローバルを表し、クラスの内部サブクラスと外部サブクラスの両方にアクセス可能です

Var: PHP 5 バージョンでは、このメンバー属性はパブリック型属性とみなされます

protected は保護されていることを意味し、このクラス、サブクラス、または親クラスでのみアクセスできます


プライベート
プライベートを示し、このクラス内でのみ使用できます

静的: 1) 静的属性、

2) static で変更されたメンバープロパティは、同じクラスのすべてのオブジェクトで共有できます

3) クラスが初めてロードされるとき (静的セグメントの初期化時)、静的データはメモリ内のデータ セグメントに保存されます

4) クラス内で self::member 属性名を使用します

️クラス名:: メンバー属性名

Const: 1) クラス内の定数属性 クラス内で定数を宣言する場合は、const

を使用する必要があります。

2) クラス内で self:: member 属性名を使用します

注: 属性内の変数は初期化できますが、初期化される値は定数である必要があります。ここでの定数は、コンパイル段階後の実行段階で計算される定数ではなく、PHP スクリプトがコンパイル段階にある定数を指します。たとえば、演算子を含めたり、変数や関数を含めることはできません。


iv. メンバー属性の呼び出し方法:

クラスのメンバーメソッドでは、$this->property (プロパティはプロパティ名) を介してクラスのプロパティとメソッドにアクセスできますが、クラスの静的プロパティにアクセスしたり、静的プロパティで使用したりすることはできません。 self::$プロパティを使用します。 疑似変数 $this は、クラスの非静的メソッドで使用できます。この疑似変数は、メソッドを呼び出すインスタンス化されたオブジェクトへの参照です。

次に、コードを使用して上記の内容を説明します:


クラス FinalClass {

//静的 $a = strTo lower(); //この書き方は間違っています



//const A = 1+2 //この書き方は間違っています

;


//パブリック $name = 123+456; //この書き方は間違っています


静的 $a = '$a';

const A = 'A';

public $name = 'シスター・フェン';

protected $sex = '男性+女性';

プライベート $年齢 = 23;

}

class ChildFinalClassはFinalClassを拡張します{


パブリック関数 fchildfun(){


echo 'ChildFinalClass::$a->'.ChildFinalClass::$a."


";


エコー 'ChildFinalClass::A->'.ChildFinalClass::A."


";


echo 'こんにちは、私の名前は'.$this->name."


";


echo '私は:'.$this->sex.'生


';


echo '私の年:'.$this->age.'


'; //age はプライベートメンバー属性であるため、ここでは呼び出されず、この属性が ChildFinalClass クラスで定義されていないことを示すメッセージが表示されます。

}

}

$obj = new ChildFinalClass();

$obj->fchildfun();

3. クラス内の演算の定義

i. 私は通常、オペレーションをメンバー メソッドとして呼び出しますが、それらはすべて同じです

ii. メンバー メソッドの定義: メンバー メソッドは、クラスに対して定義されたいくつかの関数メソッドです。例として、これらはメンバー メソッドです。つまり、メンバーメソッドとして理解されるいくつかの実行可能なアクションを実行できます

iii. メンバー メソッドとメンバー属性へのアクセスについては、上記のメンバー属性へのアクセスの概要を参照してください。

iv. メンバー メソッドとメンバー属性には、public、protected、private、static、final も含まれており、その範囲は同じです。参照と理解のためにいくつかの例を示します。

v. 静的メンバー メソッドは静的メンバー プロパティとメンバー メソッドにのみアクセスでき、self::static method() を使用してクラス内の静的メソッドにアクセスし、classname::static method() を使用して外部クラスにアクセスできます

1.カスタマイズ方法:

クラス FinalClass {

静的 $a = '$a';

const A = 'A';

public $name = 'シスター・フェン';

protected $sex = '男性+女性';

プライベート $年齢 = 23;

//パブリックメソッドを定義します

パブリック関数 publickfun(){

FinalClass クラスの echo 'self::$a->'.self::$a."


";

FinalClass クラスの echo "self::A->".self::A."


";

echo 'こんにちは、私の名前は:'.$this->name."


";

echo '私は:'.$this->sex.'生


';

echo '私の年:'.$this->age.'


';
}

//保護されたメソッドを定義する

保護された関数 protectedfun(){

FinalClass クラスの echo 'self::$a->'.self::$a."


";

FinalClass クラスの echo "self::A->".self::A."


";

echo 'こんにちは、私の名前は:'.$this->name."


";

echo '私は:'.$this->sex.'生


';

echo '私の年:'.$this->age.'


';

}

//プライベートメソッドを定義します

プライベート関数privatefun(){

echo 'self::$a->'.self::$a."
";

FinalClass クラスの "self::A->".self::A."
" をエコーし​​ます。

echo 'こんにちは、私の名前は:'.$this->name."
";

エコー '私は:'.$this->sex.'生
';

エコー '私の年:'.$this->age.'
';

}

}

class ChildFinalClassはFinalClassを拡張します{

パブリック関数 fchildfun(){

echo 'ChildFinalClass::$a->'.ChildFinalClass::$a."
";

エコー 'ChildFinalClass::A->'.ChildFinalClass::A."
";

エコー '私は:'.$this->sex.'生
';

echo '私の年:'.$this->age.'
';

//age はプライベートなメンバー属性なので、自分の年齢を他人に知られたくないということが分かるので、ここでは呼び出されず、この属性が ChildFinalClass クラスに定義されていないことを確認するメッセージが表示されます。

$this->publickfun();

$this->protectedfun();

$this->privatefun();

//privatefun はプライベートメンバーメソッドであるため、ここでは呼び出されません。

}


}

$obj = new ChildFinalClass();


$obj->fchildfun();


2.魔法の方法


i. 他のすべてのマジック メソッドと同様に、マジック メソッドをパブリックとして定義する必要があります

ii. PHP 5 以降では、PHP のクラスでマジック メソッドを使用できるようになりました。 2 つのアンダースコア (__) で始まるメソッドはマジック メソッドとして予約されると規定されているため、既存のマジック メソッドをオーバーロードする場合を除き、すべての関数名を __ で始めないようにすることをお勧めします。詳しく知りたい方は問い合わせてみると良いので、ここでは詳しく紹介しません。

1. __construct() 構築メソッド


__destruct()

破壊方法

2、__clone()

オブジェクトをコピーしたい場合は、cloneメソッドを使用する必要があります

3、__toString()

このメソッドは、オブジェクトを印刷するためにechoを使用する場合など、オブジェクトを文字列に変換するときに自動的に呼び出されます

4. __sleep() はシリアル化中に使用されます


__wakeup は逆シリアル化中に呼び出されます

5. __set_state()

この静的メソッドは、var_export() が呼び出されたときに呼び出されます (PHP 5.1.0 以降で有効)

6. __invoke (PHP 5.3.0 以降で有効)
オブジェクトを関数として呼び出そうとすると、__invoke メソッドが自動的に呼び出されます。

7. __​​callStatic (PHP 5.3.0 以降で有効) は静的メソッド呼び出しを処理します

8. __get() 未定義の属性が呼び出されると、このメソッドがトリガーされ、渡されるパラメーターはアクセスされる属性の名前です。


__set() このメソッドは、未定義の属性に値を割り当てるときにトリガーされます。渡されるパラメーターは、設定する属性名と値です。 ここでの非宣言には、オブジェクトを使用して呼び出されたときにアクセス制御が保護されプライベートである属性 (つまり、アクセス許可を持たない属性) が含まれます。

9. __isset() このメソッドは、isset() 関数が未定義の属性に対して呼び出されたときに呼び出されます


__unset() このメソッドは、未定義のプロパティに対して unset() 関数が呼び出されたときに呼び出されます

10.__call( $method, $arg_array )
このメソッドは、未定義のメソッドを呼び出すときに呼び出されます

ここでの未定義のメソッドには、アクセス権限がないメソッドが含まれます。メソッドが存在しない場合は、親クラスに移動してメソッドを見つけます。このメソッドの __call() メソッドを呼び出します。このメソッドの場合 __call() メソッドがクラスに存在しない場合は、親クラスの __call() メソッドに移動します。

11. __autoload() 自動読み込みマジックメソッド

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/732963.html技術記事クラスの概念: クラスは、同じプロパティと操作を持つオブジェクトのコレクションです。これは、このクラスに属するすべてのオブジェクトに統一された抽象的な説明を提供します。これには 2 つの主要なプロパティと操作が含まれます...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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 にアップグレードする方法について説明します。

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 は、

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles