ホームページ  >  記事  >  バックエンド開発  >  (上級) PHP オブジェクト指向 - クラスとオブジェクト

(上級) PHP オブジェクト指向 - クラスとオブジェクト

黄舟
黄舟オリジナル
2017-02-06 10:16:141005ブラウズ

以下は記事の本文です:

基本概念

オブジェクト指向プログラミング (Object Oriented Programming、OOP、オブジェクト指向プログラミング) は、コンピューター プログラミング アーキテクチャです。 OOP の基本原理は、コンピューター プログラムがサブルーチンとして機能する単一のユニットまたはオブジェクトで構成されるということです。 OOP は、再利用性、柔軟性、拡張性というソフトウェア エンジニアリングの 3 つの目標を達成します。

PHP はバージョン 4.0 以降、OOP のサポートを改善しました。小規模なアプリケーションの場合は、従来の手続き型プログラミングを使用する方が簡単で効率的である場合があります。ただし、大規模で複雑なアプリケーションの場合は、OOP を考慮する必要があります。

クラス

クラスは、同じプロパティとサービスを持つオブジェクトのコレクションです。これは、このクラスに属するすべてのオブジェクトに対して統一された抽象的な説明を提供します。これには、属性とサービスという 2 つの主要な部分が含まれます。オブジェクト指向プログラミング言語では、クラスは独立したプログラム単位であり、クラス名があり、属性の説明とサービスの説明という 2 つの主要な部分が含まれている必要があります。システム 、システムの基本単位です。オブジェクトは、プロパティのセットと、プロパティのセットに対して動作するサービスのセットで構成されます。

クラスとオブジェクトの関係は、型と鋳物の関係に似ています。クラスのインスタンス化の結果がオブジェクトであり、オブジェクトの型を抽象化したものがクラスです。

オブジェクト指向プログラミングは幅広いトピックをカバーしています。このチュートリアルでは、PHP の基本的な概念とアプリケーションのみを紹介します。

クラス

クラスを宣言するにはキーワード class を使用し、その後にクラス名を続けます。本体は {} 記号で囲まれます。

構文:

class class_name{ ...... }

クラスには属性とメソッドが含まれています。

属性


クラスの本体で、属性と呼ばれる特別な変数を宣言できます。 PHP V4 では、プロパティはキーワード var を使用して呼び出す必要があります。これは依然として正当な構文ですが、主に下位互換性を目的としています。 PHP V5 では、プロパティはパブリック、プライベート、または保護されていると宣言する必要があります。キーワードで見つけることができます: ここで少しプライバシーを確​​保できますか?これらの修飾子については、 を参照してください。ただし、この例ではすべてのプロパティを public として宣言します。リスト 1 は、2 つのプロパティを宣言するクラスを示しています。

2つの属性を持ったクラスを宣言する

class Dictionary {
   public $translations = array();
   public $type ="En";
}

例えば、personというクラスを定義すると、その人の名前、年齢、性別などをそのpersonクラスの属性とみなすことができます。

メソッド

クラス定義で関数を宣言することで、そのクラスのメソッドが作成されます。

文法:

class class_name{ function function_name(arg1,arg2,……) { 函数功能代码 } }

类的应用

一个定义了属性和方法的类就是一个完整的类了,可以在一个类里面包含一个完整的处理逻辑。使用 new 关键字来实例化一个对象以便应用类里面的逻辑。可以同时实例化多个对象。

语法:

object = new class_name();

实例化一个对象后,使用 -> 操作符来访问对象的成员属性和方法。

语法:

object->var_name; object->function_name;

如果要在定义的类里面访问成员的属性或者方法,可以使用伪变量 $this 。$this 用于表示 当前对象 或 对象本身 。

例子:

<?php 
class Person { 
//人的成员属性 
var $name; //人的名字 
var $age; //人的年龄 
//人的成员 say() 方法 
function say() { 
echo "我的名字叫:".$this->name."<br />"; 
echo "我的年龄是:".$this->age; 
} 
} //类定义结束 

//实例化一个对象 
$p1 = new Person(); //给 $p1 对象属性赋值 
$p1->name = "张三"; 
$p1->age = 20; 
//调用对象中的 say()方法 
$p1->say(); 
?>

运行该例子,输出:

我的名字叫:张三 我的年龄是:20

上面的例子演示了一个简单的基于面向对象的 PHP 应用。

以上就是(进阶篇)PHP面向对象- 类与对象的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。