目次
PHP オブジェクト指向プログラミングの詳細な説明: クラスとオブジェクト
すべてはオブジェクトです: すべてはオブジェクトです。
PHP5 のクラスとオブジェクト
PHP5 のプロパティ
延伸阅读
ホームページ バックエンド開発 PHPチュートリアル PHP オブジェクト指向プログラミングの詳しい説明: クラスとオブジェクト_PHP チュートリアル

PHP オブジェクト指向プログラミングの詳しい説明: クラスとオブジェクト_PHP チュートリアル

Jul 13, 2016 am 09:50 AM
物体

PHP オブジェクト指向プログラミングの詳細な説明: クラスとオブジェクト

PHP オブジェクト指向プログラミングの詳細な説明: クラスとオブジェクト

OOP の観点からは、言語は区別されるべきではありません。 C++、Java、.net、またはその他のオブジェクト指向言語であっても、OO の本当の意味を理解していれば、言語を超えて思考を簡単に変えることができます。 Java、.net、PHP の中で誰が強いかについては、もはや論争はありません。


この PHP5 オブジェクト指向プログラミング (OOP) の入門が初心者にとって有益であり、より多くの PHPer が OO プログラミングに切り替え始めることができるようになることを願っています。


PHP4 と比較すると、PHP5 はオブジェクト指向の点で大きく変わりました。 PHP5環境におけるオブジェクト指向のみを紹介します。そして、PHP5 の発展に従うために私たち自身も変わらなければなりません。お使いの環境でコード結果が一致しない場合は、お使いの環境がPHP5であることを確認してください。


OOP について初めて聞いた読者でも、この記事は理解できると想定しています。ただし、PHP についてある程度の知識が必要であると思います。


後でいくつかの例を使用して、PHP5 の OO 基盤を徐々に分析していきます。


オブジェクト指向は、コードのスケーラビリティとコードの保守性という 2 つの問題のみを解決します。


php はますます Java に似てきていると言わざるを得ません。

編集リファレンス: http://www.lai18.com/content/425094.html

すべてはオブジェクトです: すべてはオブジェクトです。

オブジェクト指向プログラミング (OOP) の考え方は、コンピューター言語での物事の記述を、現実世界の物事の真の外観と可能な限り一致させることを目指しています。オブジェクト指向言語は私たちの生活と密接な関係があり、オブジェクト指向言語を学ぶのは実はとても簡単です。このアプリケーションは、私たちの生活のロジックにより沿っています。


クラスはオブジェクトを記述するために使用されます:


クラスは各オブジェクトに含める必要があるデータを記述し、クラスは各オブジェクトの動作特性を記述します。


クラス/オブジェクト: クラスとオブジェクトは、オブジェクト指向メソッドの中核概念です。


クラスは、物事のタイプの説明、抽象的かつ概念的な定義です


オブジェクトは、実際に存在するこの種のすべての個体であるため、インスタンスとも呼ばれます。コンピュータでは、このオブジェクトを格納するためにメモリ上に実メモリ領域が作成されると理解できます。


オブジェクトを作成するプロセスはオブジェクト作成と呼ばれ、インスタンス化とも呼ばれます。


PHP5 のクラスとオブジェクト

まずは基本的なクラスを作成しましょう。


キーワード class は、PHP でクラスを定義するために使用されます。クラス名では通常、最初の文字を大文字にしてから、読みやすくするために各単語の最初の文字を大文字にします。


リーリー

これで、最初の PHP クラスが完成しました。


このクラスを引き続き使用し、new キーワードを使用してオブジェクトを作成し、echo を使用して $p を出力しましょう


変数 $p を定義し、new キーワードを使用して Person オブジェクトを作成しました。


変数 $p を出力すると、出力オブジェクト ID #1 が表示され、これがオブジェクトであることがわかります。


$p = new Person(); は $p = new Person; のように記述することもできますが、後者の方法はお勧めしません。


PHP5 のプロパティ

属性: オブジェクトを記述するために使用されるデータ要素は、オブジェクトの属性と呼ばれます (データ/状態とも呼ばれます)


PHP5 では、属性はクラス内で宣言された変数を指します。変数を宣言するときは、変数のアクセス権を定義するために public private protected のいずれかを使用して変数を変更する必要があります。




パブリック: クラス内外で自由に読み取り、変更できます。


プライベート: 現在のクラス内でのみ読み取りおよび変更できます。


保護: このクラスとそのサブクラスで読み取りおよび変更できます。




属性の使用法: 変数を参照する -> 記号を使用して、変数が指すオブジェクトの属性を呼び出します。


同じオブジェクトのプロパティは、メソッド内の $this-> 表記を介して呼び出されます。


リーリー

プログラムの出力は次のとおりです:


リーリー

Person クラスには、$name と $age という 2 つの属性があります。インスタンス化した後、$p->name と $p->age を使用して属性の内容を出力します。


もちろん、属性を定義するときに初期値を設定することはできません。その場合、結果は出力されません。


オブジェクトのプロパティを変更し、コードの 8 行目と 9 行目、および出力結果の変化に注意してください。出力属性値が変更されたことがわかります。


リーリー

人物オブジェクトを作成し、このオブジェクトのプロパティを変更します。名前を付けてその名前を確認します。あなたは、マシン内の Person オブジェクトの神です。定義したルールに従って、メモリ内にこの実際の Person オブジェクトが作成され、変更可能なプロパティを持ちます。


今、私たちはコンピューター世界の神となり、世界を創造する準備ができています。


Private によって変更されたプロパティには、現在のオブジェクトの外部からアクセスすることはできません。プライベート属性はデータを非表示にするように設定されます。


隐藏:指对象的一种保护机制,使得它的属性或方法不被外部的程序直接访问。


<!--?
// 1-3.php
class Person{
   private $name = "Gonn"; //定义public属性 $name.
   public $age = 20; // 定义 public 属性 $age;
}
$p = new Person(); // 创建对象
echo "他的名字是 ".$p--->name;     // 输出对象$p的属性 $name;
?>
ログイン後にコピー


运行此程序将会输出:


Fatal error: Cannot access private property Person::$name in E:\PHPProjects\test.php on line 9
ログイン後にコピー


私有属性不能被外部访,这样做的好处后面会介绍到。

延伸阅读

此文章所在专题列表如下:

PHP面向对象编程详解:类和对象
PHP面向对象编程详解:类的属性
PHP面向对象编程详解:类的方法
PHP面向对象编程详解:对象的比较
PHP面向对象编程详解:构造函数
PHP面向对象编程详解:类的继承
PHP面向对象编程详解:访问控制
PHP面向对象编程详解:方法覆盖
PHP面向对象编程详解:this关键字
PHP面向对象编程详解:parent::关键字
PHP面向对象编程详解:再谈重载
PHP面向对象编程详解:获取用户数据
PHP面向对象编程详解:用户权限管理类
PHP面向对象编程详解:static变量与方法
PHP面向对象编程详解:单例模式
PHP面向对象编程详解:final类和方法
PHP面向对象编程详解:PHP中的常量
PHP面向对象编程详解:抽象类
PHP面向对象编程详解:抽象方法
PHP面向对象编程详解:抽象类继承抽象类
PHP面向对象编程详解:静态抽象方法
PHP面向对象编程详解:模板模式
PHP面向对象编程详解:接口与抽象方法
PHP面向对象编程详解:接口的实现
PHP面向对象编程详解:接口的继承
PHP面向对象编程详解:类型提示
PHP面向对象编程详解:PHP的多态
PHP面向对象编程详解:instanceof运算符
PHP面向对象编程详解:接口与组合模拟多继承
PHP面向对象编程详解:一个接口实例
PHP面向对象编程详解:简单工厂模式

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1018618.htmlTechArticlePHP面向对象编程详解:类和对象 PHP面向对象编程详解:类和对象 从OOP的视角看,不应区分语言。无论是C++、无论是Java、无论是.net还有更多...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

PHP の json_encode() 関数を使用して配列またはオブジェクトを JSON 文字列に変換する PHP の json_encode() 関数を使用して配列またはオブジェクトを JSON 文字列に変換する Nov 03, 2023 pm 03:30 PM

JSON (JavaScriptObjectNotation) は、Web アプリケーション間のデータ交換の一般的な形式となっている軽量のデータ交換形式です。 PHP の json_encode() 関数は、配列またはオブジェクトを JSON 文字列に変換できます。この記事では、PHPのjson_encode()関数の構文、パラメータ、戻り値、具体的な例などの使い方を紹介します。構文 json_encode() 関数の構文は次のとおりです。

MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? Apr 29, 2024 pm 01:09 PM

MySQL クエリ結果の配列をオブジェクトに変換する方法は次のとおりです。 空のオブジェクト配列を作成します。結果の配列をループし、行ごとに新しいオブジェクトを作成します。 foreach ループを使用して、各行のキーと値のペアを新しいオブジェクトの対応するプロパティに割り当てます。新しいオブジェクトをオブジェクト配列に追加します。データベース接続を閉じます。

Python の __contains__() 関数を使用してオブジェクトの包含操作を定義する Python の __contains__() 関数を使用してオブジェクトの包含操作を定義する Aug 22, 2023 pm 04:23 PM

Python の __contains__() 関数を使用して、オブジェクトの包含操作を定義します。Python は、さまざまな種類のデータを処理するための多くの強力な機能を提供する、簡潔で強力なプログラミング言語です。その 1 つは、__contains__() 関数を定義してオブジェクトの包含操作を実装することです。この記事では、__contains__() 関数を使用してオブジェクトの包含操作を定義する方法とサンプル コードを紹介します。 __contains__() 関数は Pytho です

ソースコードの探索: Python ではオブジェクトはどのように呼び出されますか? ソースコードの探索: Python ではオブジェクトはどのように呼び出されますか? May 11, 2023 am 11:46 AM

Wedge オブジェクトは主に 2 つの方法で作成されることがわかっています。1 つは Python/CAPI を使用する方法、もう 1 つは型オブジェクトを呼び出すことによる方法です。組み込み型のインスタンス オブジェクトについては、両方のメソッドがサポートされています。たとえば、リストは [] または list() を通じて作成できます。前者は Python/CAPI で、後者は呼び出し型オブジェクトです。ただし、カスタム クラスのオブジェクトの場合は、型オブジェクトを呼び出すことによってのみ作成できます。オブジェクトを呼び出すことができる場合、そのオブジェクトは呼び出し可能ですが、それ以外の場合は呼び出し可能ではありません。オブジェクトが呼び出し可能かどうかは、対応する型オブジェクトにメソッドが定義されているかどうかによって決まります。のように

PHP における配列とオブジェクトの違いは何ですか? PHP における配列とオブジェクトの違いは何ですか? Apr 29, 2024 pm 02:39 PM

PHP では、配列は順序付けられたシーケンスであり、要素はインデックスによってアクセスされます。オブジェクトは、new キーワードによって作成されたプロパティとメソッドを持つエンティティです。配列へのアクセスはインデックス経由で、オブジェクトへのアクセスはプロパティ/メソッド経由で行われます。配列値が渡され、オブジェクト参照が渡されます。

Javascriptオブジェクトの5つのループトラバースメソッドを詳しく解説 Javascriptオブジェクトの5つのループトラバースメソッドを詳しく解説 Aug 04, 2022 pm 05:28 PM

Javascript オブジェクトをループするにはどうすればよいですか?次の記事では、5 つの JS オブジェクト走査方法を詳しく紹介し、これら 5 つの方法を簡単に比較します。

Python の __le__() 関数を使用して、2 つのオブジェクトの小なり等しい比較を定義します。 Python の __le__() 関数を使用して、2 つのオブジェクトの小なり等しい比較を定義します。 Aug 21, 2023 pm 09:29 PM

タイトル: Python の __le__() 関数を使用して 2 つのオブジェクト以下の比較を定義する Python では、特別なメソッドを使用してオブジェクト間の比較演算を定義できます。その 1 つは __le__() 関数で、以下の比較を定義するために使用されます。 __le__() 関数は Python のマジック メソッドであり、「以下」演算を実装するために使用される特別な関数です。小なり等しい演算子 (&lt;=) を使用して 2 つのオブジェクトを比較すると、Python

PHP の Request オブジェクトとは何ですか? PHP の Request オブジェクトとは何ですか? Feb 27, 2024 pm 09:06 PM

PHP の Request オブジェクトは、クライアントからサーバーに送信される HTTP リクエストを処理するために使用されるオブジェクトです。 Request オブジェクトを通じて、リクエストを処理して応答するために、リクエスト メソッド、リクエスト ヘッダー情報、リクエスト パラメータなどのクライアントのリクエスト情報を取得できます。 PHP では、$_REQUEST、$_GET、$_POST などのグローバル変数を使用して、要求された情報を取得できますが、これらの変数はオブジェクトではなく配列です。リクエスト情報をより柔軟かつ便利に処理するために、次のことができます。

See all articles