PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPでのカプセル化について説明します。


オブジェクト指向プログラミングは、PHP5に追加されたソフトウェアアプローチであり、複合アプリケーションを簡単に構築するのに役立ちます。 PHP5に追加されたOOPの概念には、抽象化、インターフェース、静的メソッド、静的クラスなどがあります...

この記事では、いくつかの例を通じてカプセル化とその実装について学習します。

データとメソッドを単一のユニット(クラスと呼ばれる)にまとめることは、カプセル化と呼ばれます。カプセル化は、クラス内に存在するデータメンバーとメソッドの保護メカニズムです。カプセル化手法では、データメンバーが外部のエンドユーザーにアクセスすることを制限しています。

PHPでは、カプセル化を利用してコードをより安全で堅牢にします。カプセル化を使用して、データの実際の実装をユーザーから隠し、目的の操作を呼び出す以外にデータメンバーを操作することを許可しません。

例を通してこれを理解しましょう。

<?php
   class ATM {
      private $custid;
      private $atmpin;
      public function PinChange($custid,$atmpin) {
               ---------perform tasks-----
               }
      public function CheckBalance($custid,$atmpin){
               ---------perform tasks-----
               }
      public function miniStatement($custid) {
               ---------perform tasks-----
               }
      }
   $obj = new ATM();
   $obj ->CheckBalance(10005285637,1**3);
?>

説明:

この例では、すべてのATMクラスデータメンバー(変数)がプライベート修飾子でマークされています。これは、ATMクラスのデータメンバー(プロパティ)に直接アクセスできないことを意味します。したがって、クラスプロパティを直接変更することはできません。クラスプロパティ(データメンバー)を変更する唯一のアプローチは、メソッド(関数)を呼び出すことです。これが、パブリックアクセス修飾子を使用してすべてのATMクラスメソッドを記述した理由です。ユーザーは、期待される引数をクラスメソッドに渡して、特定のタスクを実行できます。

誰かがバランスをチェックしたいとしたら、必要な引数$ custid="10005285637"と$atmpin="1 ** 3"を使用してCheckBalance()メソッドにアクセスする必要があります。これは、カプセル化によるデータの隠蔽と呼ばれます。

注:

アクセス指定子を実装することで、PHPでのカプセル化を実現できます。


  1. PHPのconvert_uudecode()関数

    convert_uudecode()関数は、エンコードされた文字列をデコードするために使用されます。 構文 convert_uudecode(data) パラメータ データ −uudecodeデータ 戻る convert_uudecode()関数は、デコードされたデータを文字列として返すか、失敗するとfalseを返します。 例 以下は例です- 出力 I love PHP!

  2. PHPのget_class_methods()関数

    get_class_methods()関数は、クラスメソッドの名前を取得します。 name_of_classで指定されたクラスに定義されたメソッド名の配列を返します。エラーの場合、NULLを返します。 構文 get_class_methods(class) パラメータ name_of_class −クラス名。必須です! 戻る get_class_methods()関数は、name_of_classで指定されたクラスに対して定義されたメソッド名の配列を返します。エラーの場合、NULLを返します。 例 以下は例です- <?php class Demo {   &n