克隆
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. 183.Wood Cut【hard】

    183.Wood Cut[hard] Given n pieces of wood with length L[i] (integer array). Cut them into small piec ...

  2. 【藏】使用Entity Framework时要注意的一些性能问题

    这篇文章写的很好: http://diaosbook.com/Post/2012/12/9/performance-issue-in-select-one-or-few-colums-via-enti ...

  3. mysql explain22222 system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL

    MySQL性能分析及explain用法的知识是本文我们主要要介绍的内容,接下来就让我们通过一些实际的例子来介绍这一过程,希望能够对您有所帮助. .使用explain语句去查看分析结果 如explain ...

  4. Spring4 MVC ContentNegotiatingViewResolver多种输出格式实例

    本文演示支持多种输出格式,这里 Spring4 MVC应用程序使用了 Spring ContentNegotiatingViewResolver .我们将生成应用程序输出XML,JSON,PDF,XL ...

  5. 回调函数(callback)是什么?

    你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这个例子里,你的电话号码就叫回调函数,你把电话留给 ...

  6. HBuilder 连接 夜神安卓模拟器

    由于HBuilder的自动扫描机制无法直接连上夜神模拟器,需要通过cmd命令窗口手动处理,才能将两者建立连接. 首先,启动HBuilder和夜神模拟器 然后,打开cmd命令提示符 cd进入夜神模拟器b ...

  7. Jqurey实现相似EasyUI的页面布局

    截图例如以下:(可通过移动中间蓝色的条.来改变左右两边div的宽度) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFuZ21pbmd4aW5nOTgw ...

  8. eclipse + pydev 创建django项目

    前提条件机器装好python,并装好django插件.(http://blog.csdn.net/lilongjiu/article/details/51405340) 1. 下载eclise Ver ...

  9. okhttp 通过网关请求服务端返回数据

    1.启动类代码 package com.tycoon.service; import org.springframework.boot.SpringApplication; import org.sp ...

  10. hdu 1853 (费用流 拆点)

    // 给定一个有向图,必须用若干个环来覆盖整个图,要求这些覆盖的环的权值最小. 思路:原图每个点 u 拆为 u 和 u' ,从源点引容量为 1 费用为 0 的边到 u ,从 u' 引相同性质的边到汇点 ...