面向对象__tostring()方法、克隆及加载

一、__tostring()方法

写在类里,必须有返回值

class Ren

{

public $name;

public function __ tostring()

{

return "该类是人类,name代表姓名";

}

}

$r = new Ren();

echo $r;

二、__clone()方法

class Ren

{

public $name="张三";

//第二种修改成员变量值的方法

public function __clone()

{

$this->name = "李四";  this指复制的对象

}

}

$r = new Ren();

$c = clone $r; 克隆一个和$r = new Ren();一样的对象

echo $c->name;

$c->name="李四";  第一种修改成员变量值的方法

echo $c->name;

三、加载类

(1)建立要加载的文件 文件名为ren.class.php (不含其他代码时,可以只写开头不写结尾)

(2)加载类的方法  7种  一两个时用前六个,多时用最后一个

1、include("./ren.class.php");

2、include "./ren.class.php";

区别:include是将全部内容加载进来,一个出错,当前页面也崩溃,require只是加载相关部分

3、require("./ren.class.php");

4、require "./ren.class.php";

区别:前者(3、4)考虑次数,会出现重复引入的问题;后者(5、6)只请求一次,请求了就不会再请求第二次

5、require_once("./ren.class.php");

6、require_once "./ren.class.php";

$r=new Ren();

7、自动加载类

使用时的要求:

1、所有的类文件要写在同一个目录下

2、类文件的命名规则要一致xx.class.php

3、类的文件名要和类名保持一致(区分大小写)

function __autoload($classname)

{

require_once("./".$classname.".class.php");   //造对象的时候调用

}

$r=new Ren();

时间: 2024-10-12 21:08:04

面向对象__tostring()方法、克隆及加载的相关文章

使用jquery的load方法设计动态加载,并解决浏览器前进、后退、刷新等问题

继上一篇 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题 解决了后台业务系统的部分动态加载问题,然而该框架离正常的用户体验还存在一些问题,如:浏览器的前进.后退.刷新等问题.有博友也遇到了同样的问题,接下来就针对浏览器的前进.后退.刷新进行用户体验优化. 在解决上述问题时也进行了各种search,但是大部分都是自己实现的插件,而且插件年久失修,对于新的jquery支持不佳.也有使用h5新加的history方法来实现的,由于HTML5的广泛使用,绝大部分主

php克隆 自动加载

自动加载类库文件 当类多了以后,比如要在一个文件中载入3个类库文件:a.class.php,b.class.php,c.class.php要用三个 require_once(‘classes/a.class.php); require_once(‘classes/b.class.php); require_once(‘classes/c.class.php); 可以用PHP5自动加载的功能来处理:在全局应用配置文件中,定义一个特殊的函数__autoload($class)函数(__autoloa

克隆、加载类

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 = "li

php 自动加载函数、自动加载方法、自动加载类

在PHP开发过程中,如果希望从 外部引入一个class,通常会使用include和require方法,去把定义这个class的文件包含进来.这个在小规模开发的时候,没什么大问 题.但在大型的开发项目中,这么做会产生大量的require或者include方法调用,这样不因降低效率,而且使得代码难以维护,况且 require_once的代价很大. 在PHP5之前,各个PHP框架如果要实现类的自动加载,一般都是按照某种约定自己实现一个遍历 目录,自动加载所有符合约定规则的文件的类或函数. 当然,PHP

再和“面向对象”谈恋爱 - 图片预加载组件(七)

再和"面向对象"谈恋爱 - 对象简介(一)再和"面向对象"谈恋爱 - 对象相关概念(二)再和"面向对象"谈恋爱 - 面向对象编程概念(三)再和"面向对象"谈恋爱 - class(四)再和"面向对象"谈恋爱 - 继承(五)再和"面向对象"谈恋爱 - super(六) 通过前面的六篇文章已经把ES6的面向对象跟大伙说清楚了,大家最关心的应该是来个例子实战一下,别担心自行车都会有.那这篇文章通

使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题

一.问题分析 对于后台系统,相比大家都有所印象,知道其中的布局结构,如图: 在这种布局中我们需要将header,sidebar,footer分开,而且对于中间部分的content内容需要动态变化,即根据不同菜单定位到不同页面,而整体布局不会变化 这种布局结构对于单纯的HTML不具备这种嵌入各部分内容的能力,所以就需要我们自己来寻找或者解决这种问题,由于jquery的兼容性和使用广度比较不错,这里 使用jquery的load方法来处理这种页面布局框架. 二.load方法详解 1.定义 $(sele

touchweb手机网站图片加载方法(canvas加载和延迟加载)

一.canvas图片加载 关于canvas加载,我的方法是,将文章中所有用到图片的地方,都用canvas代替,给canvas一个data-src,里面存放img的路径,通过canvas方法渲染图片.因为图片渲染需要时间,一般会给canvas一个背景,背景可以用gif图片.图片渲染好了之后把背景去掉. 我的canvas代码如下: canvasload: function () { //canvas加载图片 var imglength = $("#您的id").find("can

Anddroid-使用Fragment的setUserVisibleHint方法实现延时加载

大家开发Android的APP的时候,应该都是用过Fragment. Fragment使用起来非常方便,灵活.在ViewPage中PageAdapter来管理所有的Fragment即可. 但是大家都会遇到一个问题,就是在加载一个Fragment的时候,会自动缓存左右几个(默认是一个)页面,此时也会调用到正常的生命周期函数,onCreate,onCrateView,onResume.可是这样给用户的体验很不好.因为用户还没有看到要预加载的界面,却已经开始加载,用户或许可能就不会看到那个界面,但是紧

从setContentView方法分析Android加载布局流程

PS一句:当初你所逃避的问题终会在未来的某一天重新出现在你面前,因此,当你第一次遇到它时,请不要逃避. 相信很多初学者对XML布局怎么加载到Activity上并且显示在手机屏幕上很好奇吧?今天我们就从经常使用的方法 setContentView来从源码分析一下XML布局是怎么加载到当前Activity上的. Activity#setContentView 我们知道,Activity是在onCreate方法中使用setContentView方法来加载布局的,那么它内部的源码是怎么实现的呢? Set