ホームページ > バックエンド開発 > PHPの問題 > phpのメソッド本体とは何ですか?

phpのメソッド本体とは何ですか?

青灯夜游
リリース: 2023-03-18 06:22:01
オリジナル
3644 人が閲覧しました

PHP では、メソッドの定義には 2 つの部分が含まれます: メソッド宣言とメソッド本体、構文「メソッド宣言部分 {メソッド本体部分}」、およびメソッド宣言とメソッドの後の 1 対の中括弧中段 その内容はメソッドのメソッド本体と呼ばれ、メソッド本体の内容にはローカル変数の宣言やPHPステートメントが含まれます。簡単に言えば、メソッド本体はメソッドのコード ブロック、つまり中括弧で囲まれた部分です。

phpのメソッド本体とは何ですか?

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

php メソッド本体とは

クラスは、変数の宣言とメソッドの定義の 2 つの部分で構成されます。メソッドの定義は、メソッドの宣言とメソッド本体の 2 つの部分で構成されます。

方法声明部分{
方法体的部分
}
ログイン後にコピー

メソッド宣言の後の中括弧のペアと中間の内容は、メソッドのメソッド本体と呼ばれます。メソッド本体の内容には、ローカル変数、宣言、php ステートメントが含まれます。

簡単に言えば:

メソッド本体はメソッドのコード ブロック、つまり中括弧で囲まれた部分です。

PHP クラス、オブジェクト、メソッド

1. クラスとオブジェクトの関係

クラスの実体化結果がオブジェクトであり、オブジェクトを抽象化したものがクラスです。開発プロセスでは、通常、最初にクラスを抽象化(想像)し、次にそのクラスを使用してオブジェクトを作成します(空想の内容を実現します)。プログラムでは、抽象 (ファンタジー) クラスの代わりに (ファンタジー) オブジェクトを直接使用します。

2. クラスを抽象化する方法

class 类名{
     成员属性:
        姓名、性别、年龄、身高、体重
     成员方法:
        说话、走路、学习、吃饭、开车
   }
ログイン後にコピー

すべてのクラスは、メンバー属性とメンバー メソッドという 2 つの側面から宣言されます。クラスのすべてのメンバーであるため、属性はメンバー属性とも呼ばれ、メソッドはメンバー メソッドとも呼ばれます


#1. メンバー属性 -->特性

オブジェクト内で変数を直接宣言することをメンバ属性と呼びます。クラス内で複数のメンバ変数を宣言できます。つまり、オブジェクト内に複数のメンバ属性が存在できます。 ##2. メンバー メソッド -->関数

class Person{
    var $name;    //声明第一个成员属性,用于储存人的名字
    var age;      //声明第一个成员属性,用于储存人的年龄
    var $sex;     //声明第一个成员属性,用于储存人的性别
  }
ログイン後にコピー

オブジェクトは、関連するプロパティとメソッドをまとめて整理します。メンバー属性とメンバー メソッドはどちらもオプションであり、メンバー属性のみを指定することも、メンバー メソッドのみを指定することも、メンバーを指定しないこともできます。

3. オブジェクトのインスタンス化

クラスは複数のオブジェクトを宣言でき、オブジェクトがメンバー プロパティやメンバー メソッドにアクセスできるようになります

class Person{
    var $name;    //声明第一个成员属性,用于储存人的名字
    var $age;      //声明第一个成员属性,用于储存人的年龄
    var $sex;     //声明第一个成员属性,用于储存人的性别
    function say(){   //声明第一个方法
        echo '人在说话';   //定义人说话的功能
    }
    function run(){   //声明第二个方法
        echo '人在跑步';   //定义人跑步的功能
    }
    function eat(){   //声明第三个方法
        echo '人在吃饭';   //定义人吃饭的功能
    }
}
ログイン後にコピー

4. 特別なオブジェクト参照 "$this"

上記の例では、オブジェクトをインスタンス化し、値を割り当てます。メンバーのプロパティにアクセスし、メンバーのメソッドにアクセスします。 $this は現在のオブジェクトを表すメンバー メソッドでも使用できます。 メンバー メソッドが呼び出される前のオブジェクトは誰ですか? $this は誰を表しますか?

class Person{
    var $name;    //声明第一个成员属性,用于储存人的名字
    var $age;      //声明第一个成员属性,用于储存人的年龄
    var $sex;     //声明第一个成员属性,用于储存人的性别
    function say(){   //声明第一个方法
        echo '人在说话';   //定义人说话的功能
    }
    function run(){   //声明第二个方法
        echo '人在跑步';   //定义人跑步的功能
    }
    function eat(){   //声明第三个方法
        echo '人在吃饭';   //定义人吃饭的功能
    }
}
// 实例化对象
$sqyy = new Person();
//成员属性赋值
$sqyy -> name = "伊川";
$sqyy -> sex = "男";
$sqyy -> age = 26;
//访问对象中的成员方法
$sqyy->eat();
ログイン後にコピー

5. 構築メソッドと破棄メソッド

# 1. 構築メソッド

# 構築メソッドは、オブジェクトの後に自動的に作成される最初のオブジェクトです。呼び出されたメソッドはオブジェクトを初期化し、オブジェクトのインスタンス化に new キーワードが使用されると自動的にトリガーされます。

class Person{
    var $name;   
     function info(){     
        $this ->name = "SQYY";
    }
  }
ログイン後にコピー
実行結果

2. 破棄メソッドphpのメソッド本体とは何ですか?

オブジェクトは自動的に、その前の最後のオブジェクトになります。 destroy 呼び出しメソッドは、最初に受信変数を作成し、次にそれを破棄します

<?php
    class Person{
        //下面是声明人的成员属性,都是没有初始值的,在创建对象时,使用构造方法赋给初始值
        var $name;   //定义人的名字
        var $sex;    //定义人的性别
        var $age;    //定义人的年龄
        
        function __construct($name="SQYY",$sex="男",$age=1){
            $this -> name = $name;  //在创建对象时,使用传入的参数$name为成员属性 $this->name赋初值
            $this -> sex = $sex;    //在创建对象时,使用传入的参数$sex为成员属性 $this->sex赋初值
            $this -> age = $age;    //在创建对象时,使用传入的参数$sex为成员属性 $this->age赋初值
        }
    
        //下面声明人的成员方法
        function say(){
            echo "我的名字:" .$this ->name. " ,性别:" .$this -> sex ."  年龄" .$this ->age. "。<br>";
        }
    }
    
    $person1 = new Person();                   //创建对象$person1时会自动执行构造方法,默认传参
    $person2 = new Person(&#39;张三&#39;);             //创建对象$person2时会自动执行构造方法,传入第一个参数,其他默认传参
    $person3 = new Person(&#39;李四&#39;,&#39;男&#39;);        //创建对象$person3时会自动执行构造方法,传入前两个参数,其他默认传参
    $person4 = new Person(&#39;王五&#39;,&#39;女&#39;,&#39;20&#39;);   //创建对象$person4时会自动执行构造方法,传入所有参数
    
    $person1 ->say();
    $person2 ->say();
    $person3 ->say();
    $person4 ->say();
?>
ログイン後にコピー
実行結果


変数を参照しない場合、オブジェクトは破棄後に作成されます。

<?php 
    header(&#39;Content-type:text/html;charset=utf-8&#39;);
    // 定义一个汽车的类
    class car{
        // 成员属性
        public $name;
        public $color;

        //构造方法
        public function __construct($name,$color){
            $this->name = $name;
            $this->color = $color;
            echo "你创建了".$this->name.&#39;<br>&#39;;
        }

        // 析构方法
        public function __destruct(){
            echo "你销毁了".$this->name.&#39;<br>&#39;;
        }
    }

    // 实例化对象
    $hanma = new car(&#39;悍马&#39;,&#39;粉色&#39;,&#39;H2&#39;);
    $bmw = new car(&#39;宝马&#39;,&#39;红色&#39;,&#39;X7&#39;);
    $benchi = new car(&#39;奔驰&#39;,&#39;黑色&#39;,&#39;s600&#39;);

    // unset($bmw);
    $bmw = &#39;1111&#39;;
 ?>
ログイン後にコピー
phpのメソッド本体とは何ですか?実行結果


推奨学習: 「

PHP ビデオ チュートリアル phpのメソッド本体とは何ですか?

以上がphpのメソッド本体とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート