#このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューターPHP では、メソッドの定義には 2 つの部分が含まれます: メソッド宣言とメソッド本体、構文「メソッド宣言部分 {メソッド本体部分}」、およびメソッド宣言とメソッドの後の 1 対の中括弧中段 その内容はメソッドのメソッド本体と呼ばれ、メソッド本体の内容にはローカル変数の宣言や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. 破棄メソッド
オブジェクトは自動的に、その前の最後のオブジェクトになります。 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('张三'); //创建对象$person2时会自动执行构造方法,传入第一个参数,其他默认传参
$person3 = new Person('李四','男'); //创建对象$person3时会自动执行构造方法,传入前两个参数,其他默认传参
$person4 = new Person('王五','女','20'); //创建对象$person4时会自动执行构造方法,传入所有参数
$person1 ->say();
$person2 ->say();
$person3 ->say();
$person4 ->say();
?>
実行結果
<?php header('Content-type:text/html;charset=utf-8'); // 定义一个汽车的类 class car{ // 成员属性 public $name; public $color; //构造方法 public function __construct($name,$color){ $this->name = $name; $this->color = $color; echo "你创建了".$this->name.'<br>'; } // 析构方法 public function __destruct(){ echo "你销毁了".$this->name.'<br>'; } } // 实例化对象 $hanma = new car('悍马','粉色','H2'); $bmw = new car('宝马','红色','X7'); $benchi = new car('奔驰','黑色','s600'); // unset($bmw); $bmw = '1111'; ?>実行結果
PHP ビデオ チュートリアル 」
以上がphpのメソッド本体とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。