ホームページ  >  記事  >  バックエンド開発  >  php オブジェクトのメソッドまたは属性は何ですか?

php オブジェクトのメソッドまたは属性は何ですか?

青灯夜游
青灯夜游オリジナル
2022-02-15 15:32:143096ブラウズ

PHP オブジェクトでは、メソッドはクラス構造内で作成された関数を指し、クラス内の動作を実装し、クラスの一部になります。一方、属性は、オブジェクト内のクラス構造内で直接宣言された変数を指します。複数の属性を指定でき、各変数にはオブジェクトの異なる属性情報が格納されます。

php オブジェクトのメソッドまたは属性は何ですか?

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

まず、簡単に理解しましょう。関連概念:

  • クラス: クラスは、オブジェクト指向の主題を定義する最も外側の構造であり、主題のデータと関数 (関数) をラップするためにも使用されます。クラスとは共通事務の一種であり、代表者は事務の共通性を表します。

  • オブジェクト: オブジェクトは、特定の種類のトランザクションと実際のデータおよび機能操作の特定の単位を表すもので、インスタンスとも呼ばれます。

  • インスタンス化: 新しい。抽象概念に準拠する特定のインスタンスを抽象概念から取得するプロセス。

  • クラス メンバー: メンバーとは、クラス構造内のすべてのコンテンツを指します。クラス メンバーには 3 つのタイプがあります。

  • メソッド: メソッドは本質的にクラス構造内に作成される関数であり、メンバー メソッドまたはメンバー関数とも呼ばれます。

  • プロパティ: プロパティは基本的にクラス構造内に作成される変数であり、メンバー変数とも呼ばれます。

プロパティとメソッドに焦点を当てましょう。

メンバー属性

クラス内で直接宣言された変数はメンバー属性と呼ばれます (メンバー変数とも呼ばれます)。クラス内で複数の変数を宣言できます。オブジェクトには複数のメンバー属性を含めることができ、各変数にはオブジェクトの異なる属性情報が格納されます。構文形式は次のとおりです。

访问权限修饰符 属性名称 = 属性值;

PHP ではメンバー属性の型はスカラー型と複合型であるため、他のクラスによってインスタンス化されたオブジェクトにすることもできますが、リソースや空の型を使用することは意味がありません。授業中。

前に述べたように、変数を宣言するときにキーワードを変更する必要はありません。ただし、クラス内のメンバー プロパティを宣言する場合は、変数の前に public、private などのキーワードを使用して変更する必要があります。 、静的などですが、これらのキーワードによって変更される変数には特定の意味があります。特定の意味で変更する必要がない場合は、「var」キーワードを使用できます。他のキーワードでメンバー属性を変更した場合は、「var」を削除する必要があります。

一般的に使用されるアクセス許可修飾子とその意味は次のとおりです:

  • public: public、クラス内、サブクラス内、またはクラス外で使用可能、制限なし;

  • protected: protected、クラスおよびサブクラス内で使用できますが、クラス外では使用できません;

  • private: プライベート、はクラス内でのみ使用でき、クラス外またはサブクラス内では使用できません。

注: クラス、つまり一対の中括弧内のすべてのコンテンツは、コード部分、つまり [例] Students クラスを作成し、クラス内のメンバー属性を宣言します。コードは次のとおりです:

<?php
    class Students{
        var $name;
        public $age;
        private $sex;
        public static $school;
    }
?>

ヒント: アクセス許可修飾子は、静的変数を定義するキーワード static と組み合わせることができます。 . 上記のコードに示すように、一緒に使用されます。

メンバー メソッド

クラス内で定義された関数は、メンバー メソッドと呼ばれます。関数とメンバー メソッドの唯一の違いは、関数は独立した関数を実装するのに対し、メンバー メソッドはクラス内の動作を実装し、クラスの一部であることです。

クラス内では複数のメンバー メソッドを宣言できます。メンバー メソッドの宣言は関数の宣言とまったく同じです。ただし、メンバー メソッドを宣言する場合、関数キーワードの前にアクセス修飾子を追加できます。アクセスを制御します。パブリック、プライベート、保護などの権限。

もう 1 つ注意すべき点は、宣言されたメンバー メソッドはクラスに関連している必要があり、無意味な操作であってはいけないということです。たとえば、学生クラスを宣言するときに、「フライング」メンバー メソッドを宣言すると、インスタンス化されたすべての学生が飛行できますが、これは設計上のエラーです。

[例] 上記の例で作成したStudentsクラスにメンバーメソッドをいくつか作成します。

<?php
    class Students{
        var $name;
        public $age;
        private $sex;
        public static $school;
        public function Write(){
           
        }
        protected static function Read(){
        }
        function Listen(){
           
        }
    }
?>

メンバー メソッドの前の権限修飾子は省略可能です。省略した場合、デフォルトの権限は public になります。クラス内のメンバー属性とメンバー メソッドの宣言はオプションであり、実際の状況に応じて、同時に存在することも、別々に存在することもできます。

PHP7 では、型宣言が導入されました。メンバー メソッドの仮パラメータと戻り値の型を宣言できます。形式は次のとおりです:

[权限修饰符] function 方法名 (类型 参数1, 类型 参数2, ..., 类型 参数n) : 返回值类型 {
    ... ...
}

PHP7 でサポートされているパラメータの型整数型、浮動小数点型、文字列型、およびブール型が含まれます。サンプル コードは次のとおりです。

<?php
    class Students{
        var $name;
        public $age;
        private $sex;
        public static $school;
        public function Write(string $a, int $b):bool{
           
        }
        protected static function Read(string $str):int{
        }
        function Listen(int $num):bool{
        }
    }
?>

オブジェクトをインスタンス化し、オブジェクト内のメンバーにアクセスします

オブジェクトにはメンバー プロパティとメンバー メソッドが含まれており、オブジェクトのメンバー メンバーは配列内の要素にアクセスするのと似ており、オブジェクトのメンバーには、オブジェクトへの参照を通じてのみアクセスできます。ただし、オブジェクトのメンバーへのアクセスを完了するには、特別な演算子 -> を使用する必要があります。オブジェクトのメンバーにアクセスするための構文形式は次のとおりです:

变量名 = new 类名(参数);   //实例化一个类
变量名 -> 成员属性 = 值;   //为成员属性赋值
变量名 -> 成员属性;           //直接获取成员属性的值
变量名 -> 成员方法();        //访问对象中的成员方法

下面通过一个示例来演示一下:

<?php
header("Content-type:text/html;charset=utf-8");
class Website{
    public $name, $url, $title;
    public function demo(){
        echo &#39;成员方法 demo()&#39;;
    }
}
$student = new Website();
$student -> name = &#39;php中文网&#39;;
$student -> url = &#39;https://www.php.cn/&#39;;
$student -> title = &#39;实例化对象&#39;;
echo $student -> name.&#39;<br>&#39;;
echo $student -> url.&#39;<br>&#39;;
echo $student -> title.&#39;<br>&#39;;
$student -> demo();
?>

php オブジェクトのメソッドまたは属性は何ですか?

推荐学习:《PHP视频教程

以上がphp オブジェクトのメソッドまたは属性は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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