PHP对象祥解(全)传智播客听客笔记(精)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

◆ PHP面积对象编程

◆构造方法

需求:

在创建一个人对象的进修,就初始化一些变量比如:name age

class Person{

public $name;

public $age;

//这个就是构造方法

public function __construct()

{

echo "我是构造方法";

}

}

$p1=new Person();

?>

1. 没有返回值

2. 主要作用是完成对新对象的初始化,并不是创建对象

3. 在创建一个类的新对象时,构造方法是被自动调用的

4. 在php5中一个类可以同时有两种形式的构造方法

__construct() 和类名(),当两个都存在的优先调用前面一个方法

5. 一个类中只能有一个构造方法

6. 一旦自定义了一个构造函数,默认的构造函数就被覆盖了,这时在创建对象的时候就要使用自定义的构造函数

7. 构造方法的默认访问修饰符是public

◆ This的理解

系统会给第个对象分配this代表当前对象

class Person{

public $name;

public $age;

//这个就是构造方法

?> } public function __construct($iname,$iage) { $this->name=$iname; $this-

>age=$iage; echo "我是构造方法"; } public function showInfo() { echo "名字

是:".$this->name; } $p1=new Person("张清",90); $p2=new Person("宋江",33); //echo $p1->name; $p1->showInfo(); $p2->showInfo();

☞ 1.this本质可以理解就是这个对象的地址

2.哪个对象使用到this,就是哪个对象地址

3.$this不能在类外部使用

析构方法的作用

析构方法的作用,主要用于释放资源(比如释放数据库连接,图片资源。。。销毁某个对象

快速入门

class Person{

public $name;

public $age;

//构造方法

public function __construct($iname,$iage){

$this->name=$iname;

$this->age=$iage;

}

//一个析构方法

function __destruct(){

echo $this->name."销毁资源"."
";

}

}

$p1=new Person("贾宝玉",16);

$p2=new Person("林要风",14);

运行代码我们得出

1. 析构方法会自动调用

2. 析构方法主要用于销毁资源,

3. 析构方法调用的顺序,先创建的对象最后被销毁

4. 析构方法什么时候被调用

①当程序退出时

②当一个对象成为一个垃圾对象的时候,该对象的析构方法也会被调用③所谓垃圾对象,就是指没有任何变量在引用它了、

④一旦一个对象成为垃圾对象,析构函数就会立即被调用

Php编程静态变量和方法

提出一个问题?

思路:

1. 使用全局变量

什么是全局变量,在程序中任何位置都可以使用的变量称为全局变量用global修饰

global $global_nums;

$global_nums=0;

class Child{

public $name;

function __construct($name){

$this->name=$name;

}

public function join_game()

{

global $global_nums;

$global_nums+=1;

echo $this->name."加入堆雪人游戏";

}

}

$child1=new Child("李逵");

$child1->join_game();

$child2=new Child("张飞");

$child2->join_game();

$child3=new Child("唐门");

$child3->join_game();

echo "$global_nums";

2. 使用静态变量

静态变量的基本用法

①类中定义静态变量

[访问修饰符] static 变量名;

②如何访问静态变量

如果在类中访问有两种方法 selft::$静态变量名

如果在类外访问有一种方法类名::$静态变量类名::$静态变量名class Child{

public $name;

//这里定义并初始化一个静态变量$nums

public static $nums=0;

function __construct($name){

$this->name=$name;

}

public function join_game()

{

//使用静态变量

self::$nums+=1;

echo $this->name."加入堆雪人游戏";

}

}

$child1=new Child("李逵");

$child1->join_game();

$child2=new Child("张飞");

$child2->join_game();

$child3=new Child("唐门");

$child3->join_game();

echo Child::$nums;

静态方法

静态方法不能访问非静态属性

需求:当我们需要操作静态变量的时候,我们可以考虑使用静态方法在我们编程中,我们往往使用静态方法去操作静态变量

静态方法的特点:

1. 静态方法去操作静态变量

相关文档
最新文档