在php中,方法的定义包括两个部分:方法的声明和方法体,语法“方法声明部分{方法体的部分}”;而方法声明后的一对大括号以及中间的内容就称之为方法的方法体,方法体的内容包括局部变量的声明和php语句。简单来说,方法体是一个方法的代码块,即花括号包裹部分。
本教程操作环境:windows7系统、PHP8版、DELL G3电脑
php方法体是什么
一个类的类是有两个部分组成:变量的声明和方法的定义。方法的定义包括两个部分:方法的声明和方法体
方法声明部分{
方法体的部分
}
在方法声明后的一对大括号以及中间的内容就称之为方法的方法体,方法体的内容包括局部变量的声明和php语句。
简单来说:方法体是一个方法的代码块即花括号包裹部分。
PHP 类、对象和方法
一、类和对象的关系
类的实体化结果是对象,而对象的抽象就是类。在开发过程中,我们通常都是先抽象(幻想)出一个类,再用该类去创建对象(实现幻想的内容)。在程序中,直接使用的是我们(实现幻想)的对象,而不是抽象(幻想)的类。
二、如何抽象一个类
class 类名{
成员属性:
姓名、性别、年龄、身高、体重
成员方法:
说话、走路、学习、吃饭、开车
}
所有的类都是从成员属性和成员方法这两方面去声明,属性和方法都是类中的成员,所以属性又叫做成员属性,方法又叫做成员方法
1、成员属性 -->特征
在对象中直接声明变量就称为成员属性,可以在类中声明多个成员变量,即对象中可以有多个成员属性
class Person{
var $name; //声明第一个成员属性,用于储存人的名字
var age; //声明第一个成员属性,用于储存人的年龄
var $sex; //声明第一个成员属性,用于储存人的性别
}
2、成员方法 -->功能
class Person{
var $name; //声明第一个成员属性,用于储存人的名字
var $age; //声明第一个成员属性,用于储存人的年龄
var $sex; //声明第一个成员属性,用于储存人的性别
function say(){ //声明第一个方法
echo '人在说话'; //定义人说话的功能
}
function run(){ //声明第二个方法
echo '人在跑步'; //定义人跑步的功能
}
function eat(){ //声明第三个方法
echo '人在吃饭'; //定义人吃饭的功能
}
}
对象就是把相关的属性和方法组织在一起。其中成员属性和成员方法都是可以选的,可以只有成员属性,也可以只有成员方法,也可以没有成员。
三、实例化对象
一个类可以声明多个对象,让对象去访问成员属性和成员方法
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();
四、特殊的对象引用 "$this"
上面的示例中,我们是实例化一个对象之后再给成员属性赋值和访问成员方法的。那么 $this也可以在成员方法中使用,代表的是当前的这个对象
成员方法调用前的对象是谁,$this就代表谁
class Person{
var $name;
function info(){
$this ->name = "SQYY";
}
}
五、构造方法与析构方法
1、构造方法
构造方法是对象创建完成后第一个被对象自动调用的方法,会初始化这个对象,当使用new关键字实例化对象时会自动触发。
<?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();
?>
运行结果
2、析构方法
对象在销毁之前最后一个被对象自动调用的方法,先创建 传入变量后销毁
<?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
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>';
}
}
// 实例化对象
new car('悍马','粉色','H2');
new car('宝马','红色','X7');
new car('奔驰','黑色','s600');
?>
运行结果
以上就是php方法体是什么的详细内容,更多请关注编程网其它相关文章!