克隆
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("张丹","女");
//克隆,用处不很大,完全可以new一个新的
$r1=clone $r;
var_dump($r);
var_dump($r1);

//引用类,加载类
class Ren
{
public $name;
public $sex;
public function Say()
{

}
}

//关于根路径:php里面 / 代表根路径;值该文件所在的磁盘,煮个栗子:D:/
//html里面 / 代表根路径:指服务器文件夹
include("Ren.class.php");//相对路径 "/"根路径

require"Ren.class.php";
require_once("Ren.class.php");

//自动加载类
//1.所有的类文件命名要求有同一个规则
//2.文件名里面必须有类名
//3。所有类文件必须在同一个文件夹下
function __autolode($classname)
{
require $classname.".class.php";
}
$r=new Ren();
echo $r->name;

//面向对象大串讲

//类和对象
//对象:一切东西都可以看做对象,对象是类的实例化。
//类:类是对象的抽象,用来描述众多对象共有的特征。

//定义类 class
//成员变量 和 成员方法
//访问修饰符 public共有的 private 私有的 protected 受保护的
//面向对象三大特性:
//1.封装:目的:保护类,做法:成员私有,方法访问。__get() __set()
//构造方法:特殊点:1.写法特殊 2.执行时间特殊;可以实现成员的初始化
//$this关键字:$this代表该对象

//2.继承:子类可以继承父类的一切
//特点:单继承:一个子类只能有一个父类,一个父类可以派生多个子类。
//方法重写:子类里建一个和父类重名的方法,会将父类方法覆盖;如果想扩展父类的方法而不是覆盖:parent::Say();

//3.多态:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,所以父类引用在调用该方法的时候表现出的不同就成为多态。
//条件:1.必须继承 2.子类必须对父类方法重写 3.父类引用指向子类实例

//静态
//关键字:static
//普通成员是属于对象的
//静态成员是属于类的
//普通方法里面可以调用静态成员
//静态方法里面不能调用普通成员
//用类名调用:Ren::Say();
//self关键字:代表该类本身

//抽象类
//关键字:abstract
//抽象类不能实例化,可以被继承

//接口
//关键字:interface,不加class关键字
//接口里面有成员方法,但是没有函数体.
//实现接口使用的关键字:implements 不是extends
//子类必须实现接口的所有方法

//析构函数
//写法特殊 执行特殊:在对象销毁的时候执行

//__tostring()方法

//克隆 关键字:clone

//加载类 7种

//函数重载
//要求:1.要么参数数量不同,要么参数类型不同。2.方法名必须相同

//函数重载:强类型语言,php里面没有
//要求:1.要么参数数量不同,要么参数类型不同 2.方法名必须相同

0607pm克隆&引用类&加载类&面向对象串讲&函数重载的更多相关文章

  1. php部分---面向对象静态、抽象类、oop接口、加载类、魔术方法、关键字。

    静态  static关键字 普通成员普通成员是属于对象的 静态成员静态成员是属于类的 普通方法里面可以调用静态成员静态方法里面不能调用普通成员self关键字 在类里面代表该类 普通类class Ren ...

  2. 【PHP面向对象(OOP)编程入门教程】23.自动加载类 __autoload()函数

    很多开发者写面向对象的应用程序时,对每个类的定义建立一个 PHP 源文件.一个很大的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件的列表. 在软件开发的系统中,不可能把所有的类都写在 ...

  3. 10月27日PHP加载类、设计模式(单例模式和工厂模式)、面向对象的六大原则

    加载类可以使用include.require.require_once三种中的任意一种,每个关键字都有两种方法,但是这种方法的缺点是需要加载多少个php文件,就要写多少个加载类的方法.一般也就需要加载 ...

  4. PHP 进阶篇:面向对象的设计原则,自动加载类,类型提示,traits,命名空间,spl的使用,反射的使用,php常用设计模式 (麦子学员 第三阶段)

    以下是进阶篇的内容:面向对象的设计原则,自动加载类,类型提示,traits,命名空间,spl的使用,反射的使用,php常用设计模式 ================================== ...

  5. php面向对象加载类、常用设计模式

    加载类: include("./Ren.class.php"); include "./Ren.class.php"; 用此方法的时候include后面要加空格 ...

  6. PHP面向对象深入研究之【命名空间】与【自动加载类】

    命名空间 避免类名重复,而产生错误. <?php require_once "useful/Outputter.php"; class Outputter { // outp ...

  7. php面向对象加载类

    php加载类: 新建php文件用驼峰法命名类名: 每个单词首字母大写,后面加.class.php表示这是php类文件.例如: ClubMember.class.php 若为纯php页面,<?ph ...

  8. php之类,对象(四)加载类及练习题

    一.加载类:1.命名类文件的时候每个单词首字母大写,后面缀上.class.php eg: Info.class.php 在写编码时定义类名首字母大写,定义变量名小写 eg:class Ren { pu ...

  9. PHP命名空间与自动加载类详解

    本文实例讲述了PHP命名空间与自动加载类.分享给大家供大家参考,具体如下: 今天我要给大家介绍的是PHP的命名空间 和 自动加载类 我先简单的分开演示 在放在一起 大家请看:什么是自动加载类? 想必大 ...

随机推荐

  1. discuz添加管理员,找回管理员方法

    增加创始人方法: 第一步:打开现在创始人的后台,将你所需要增加的创始人设置为管理员,并且给予后台副站长权限,这两部一定要做到位,先把这两步做完之后再做下面的! 具体设置管理员和给予后台副站长权限请查看 ...

  2. eclipse 设置智能感知功能

    今天有点时间,研究了一下MyEclispse的智能感知的功能.刚开始使用它时总是感觉如此不爽→智能感知功能太弱!与Visual Studio2008简直不是一个档次的!不过后来经过查看网上的资料发现它 ...

  3. library not found for -lPods-AFNetworking解决放案

    出现library not found for -lPods-AFNetworking这个报错, 来自于我从git上面把我项目直接Download下来的,我的项目里面用了CocoaPods的,如今pr ...

  4. MapReduce源码分析之Task中关于对应TaskAttempt存储Map方案的一些思考

    我们知道,MapReduce有三层调度模型,即Job——>Task——>TaskAttempt,并且: 1.通常一个Job存在多个Task,这些Task总共有Map Task和Redcue ...

  5. 做自己生活的导演:华为CameraKit为你加持大师光环

    今年最流行的娱乐方式,无疑是短视频,抖音等短视频平台,越来越多的消费者沉浸其中.除了看别人拍的短视频用以丰富生活乐趣之外,也有不少跃跃欲试的消费者加入到短视频拍摄的行列中.随着拍摄者的增加,对拍摄设备 ...

  6. ng file上传同域非同域

    跨域 vm.uploadFiles = function (file, errFiles) { if (file) { file.upload = Upload.upload({ url: vm.up ...

  7. selenium 自动化工具

    问题 今天在使用selenium+PhantomJS动态抓取网页时,出现如下报错信息: UserWarning: Selenium support for PhantomJS has been dep ...

  8. android http通信之HttpURLConnection post乱码问题

    楼主前段时间做android项目,用到http通信,于是楼主本着练手的态度,自己写httpUrlConnection通信过程,然后在测试的时候,发现使用post请求一直乱码,这时候楼主开始看发送的数据 ...

  9. ansible使用

    常用ad hoc命令, 如:ansible raleigh -m shell -a 'echo $TERM' ansible webservers -m service -a "name=h ...

  10. ORACL EXP导出数据说明

    转载自:http://www.jb51.net/article/17358.htm Oracle 数据库导出(exp)导入(imp)说明   exp 将数据库内的各对象以二进制方式下载成dmp文件,方 ...