克隆、加载类

1、克隆关键词:clone

class Ren
{
public $name;
public $sex;

function __construct($n,$s)  //构造方法,设置初始值
{
$this->name=$n;
$this->sex = $s;
}

function __clone()    //创建克隆方法,即对克隆体进行操作
{
$this->name = "李四"; //this代表的是复本对象
//$that->name = "lisi"; //that代表原本,后来废弃了
}
}

$r = new Ren("张三","男");

//克隆
$r1 = clone $r;

var_dump($r);
var_dump($r1);

2、引用类,加载类(7种)

关于根路径:php里面/代表根路径:指该文件所在的磁盘比如:D:/
html里面/代表根路径:指服务器文件夹:www

include("/wamp/www/0607/Ren.class.php"); //include引用过来的类,如果出现错误,会有提示,但仍会运行下面的代码
include "Ren.class.php";

require("Ren.class.php");  //require可引用多次,一般写在文件顶端,如果页面有错误,就会提示错误,停止运行下面的代码
require "Ren.class.php";

require_once("Ren.class.php"); //require_once只引用一次
require_once "Ren.class.php";

自动加载类
1.所有的类文件命名要求使用同一个规则
2.文件名里面必须有类名
3.所有类文件必须在同一个文件夹下

function __autoload($classname)
{
require $classname.".class.php";
}

时间: 2024-07-28 20:59:44

克隆、加载类的相关文章

0607pm克隆&引用类&加载类&面向对象串讲&函数重载

克隆class Ren{ public $name; public $sex; function __construct($n,$s) { $this->name=$n; $this->sex=$s; } function __clone()//改变克隆的对象内容 { $this->name="李思思";//this代表复本对象 $that->name="李思思";//that代表原本的,后来废弃了 }}$r=new Ren("张丹

面向对象:输出对象、克隆对象、加载类

1.__tostring()能够直接输出对象 class ren { public $name; function run() { echo"跑"; } function __tostring() { return"name变量代表的是人员名称,run方法是一个跑的方法"; } } $r=new ren(); echo $r; 2.克隆对象__clone() class ren { public $name; function run() { echo"跑

克隆对象和自动加载类

//克隆对象//关键字clone(克隆)class Ren{ public $name ="张三"; public function __clone() { $this->name = "李四"; } } $a = new Ren();$b = clone $a; $b->name="李四";echo $b->name; //加载类//include("写类文件的地址")require("写文件地址

静态、抽象类、加载类、魔术方法等

静态  static关键字 普通成员普通成员是属于对象的 静态成员静态成员是属于类的 普通方法里面可以调用静态成员静态方法里面不能调用普通成员self关键字 在类里面代表该类 普通类 class Ren { public $name="张三"; public static $zhongzu; //静态成员 普通方法 function Say() { echo self::$zhongzu."你好"; } 静态类 static function Run() { ech

自动加载类的知识点整理

//__tostring()方法 class  Ren //造一个人类,里面有成员变量$name { public  $name; } $r = new Ren(); echo $r; //写出echo $r;命令是想输出刚造的对象$r,因为$r是人类里面的一个对象,因为直接输出是输出一个对象,这个对象没法直接输出来,因为它是一个对象类型不是个字符串类型所以该程序会报错. //如果想在输出这个对象的时候不报错,而是显示一下这个类里面的信息.那就得在这个类里面加上一个方法. class  Ren

自动加载类 (面向对象)----2017-04-20

一.__tostring()方法(了解) 写在类里:必须有返回值 class Ren { public $name; public function __ tostring() { return "该类是人类,name代表姓名"; } } $r = new Ren(); echo $r; 二.__clone()方法(了解) class Ren { public $name="张三"; //第二种修改成员变量值的方法 public function __clone()

tomcat web.xml启动加载类

tomcat web.xml启动加载类 2010-03-30 22:31suitieming | 分类:JAVA相关 | 浏览3870次 我写了一个程序配在tomcat上 想启动tomcat的时候自动运行这个类 怎么配置XML文件类名Test 分享到: 2010-03-31 01:57提问者采纳 答题闯关,过关即送礼!快来参加~ 把你需要启动时自动运行的类做成一个Servlet,然后在web.xml做如下配置:  <servlet>   <servlet-name>StartupL

JVM加载类的过程,双亲委派机制中的方法

JVM加载类的过程: 1)JVM中类的整个生命周期: 加载=>验证=>准备=>解析=>初始化=>使用=>卸载  1.1.加载 类的加载阶段,主要是获取定义此类的二进制字节流,并将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构,最后在Java堆中生成一个代表这个类的java.lang.Class对象作为方法区这些数据的访问入口.相对于类加载过程的其他阶段,加载阶段是开发期可控性最强的阶段.我们可以通过定制不通的类加载器,也就是ClassLoader来控制二进制

[javaSE] 反射-动态加载类

Class.forName(“类的全称”) ①不仅表示了类的类类型,还代表了动态加载类 ②请大家区分编译,运行 ③编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 Ⅰ所有的new对象都是静态加载类 在编译的时刻就要去检测该类是否存在,如果不存在,编译失败. //对于这种情况,静态加载不适用,因为我们需要根据输入来确定加载哪个类 package com.tsh.reflect; class ReflectLoadDemo { public static void main(String[]