克隆对象、加载类及总结的知识

1.__tostring()  能够直接输出对象

class Ren
{
	public $name;
	function Run()
	{
		echo "跑";	
	}
	function __tostring()   //加上这个方法就可以直接输出对象了
	{
		return "name代表人员名称,跑是方法";	
	}	
}


$r= new Ren();
echo $r;

2.__clone() 克隆函数:关键字是  clone

class Ren
{
	public $name;
	function Run()
	{
		echo "跑";	
	}
	function __tostring()
	{
		return "name代表人员名称,跑是方法";	
	}	
	
	//克隆对象时自动调用,对副本可以修改
	function __clone()
	{
		$this->name="李四";     //this代表的是副本   that代表的是原本	
	}
}

$r=new Ren();
$r->name="张三";
var_dump($r);

$r1=clone $r;   //克隆  关键字 clone
var_dump($r1);

3.加载类

类文件保存方式:类名.class.php
将外界的类文件拿过来用的方式就叫做加载类

引入方式:

include和require两中方式的区别:require出现问题后不会使程序崩溃

1. include("./文件名");     //类文件的文件路径
   include "";    //直接写路径
2. require(""); //类文件的文件路径
   require ""; //直接写路径
3. require_once(""); //类文件的文件路径:请求一次
   require_once ""; //直接写路径

4.有很多类时,可以使用自动加载类 __autoload($classname)
注意:

a.所有的类文件都要在同一个文件夹下;

b.所有类文件的命名规则要一致;

c.类名和类文件名要保持一致

function __autoload($classname)   //类名
{
	//加载类的代码
	require $classname.".class.php";	
	require "./文件夹名/".$classname.".class.php";	
}

//不仅可以引用php文件,其他的也可以

5.魔术方法总结

a.构造函数,对类里面成员进行初始化

function __construct()
{
}

b.析构函数,在对象释放的时候自动执行

function __destruct()
{
}

c.__set方法

function __set($name,$value)
{
}

d.__get方法

function __get($name)
{
}

e.__tostring()方法

function __tostring()
{
}

f.__clone方法

function __clone()
{
}

g.__autoload方法

function __autoload($classname)
{
}

6.关键字

(1)class 定义类
(2)访问修饰符 public protected private
(3)new 造对象的关键字
(4)$this 代表该对象本身
(5)extends 代表继承
(6)parent 代表父类
(7)static 代表静态
(8)self 代表该类
(9)abstract 代表抽象,定义抽象类
(10)interface 代表接口,用来定义接口
(11)implements 实现接口
(12)clone 代表克隆
(13)override 重写
(14)overload 重载
(15)oop 代表面向对象
(16)final 写在定义类前面的,将该类定义为最终类,则该类不能被继承

  

原文地址:https://www.cnblogs.com/nuanai/p/6170028.html