php类和对象的关系

php类和对象的关系

内容导读

收集整理的这篇技术教程文章主要介绍了php类和对象的关系,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4870字,纯文字阅读大概需要7分钟

内容图文

  面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。下面我们为大家介绍一下php中类与对象的关系。

推荐教程:PHP视频教程

一、类和对象的关系

  类的实体化结果是对象,而对象的抽象就是类。在开发过程中,我们通常都是先抽象(幻想)出一个类,再用该类去创建对象(实现幻想的内容)。在程序中,直接使用的是我们(实现幻想)的对象,而不是抽象(幻想)的类。

二、面向对象和面向过程

1、什么是面向过程

  面向过程就好比一个人 自己洗衣服、做饭,什么事情都是自己解决

2、什么是面向对象

  面向对象就是那个人有了对象,让对象去洗衣服、做饭。

三、如何抽象一个类

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类和对象的关系的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php类和对象的关系全部内容,希望文章能够帮你解决php类和对象的关系所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com