克隆
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.方法名必须相同

最新文章

  1. Excel自文本导入内容时如何做到单元格内换行
  2. 分享一个简单程序(webApi+castle+Automapper+Ef+angular)
  3. hdu2457DNA repair(ac自动机+dp)
  4. php获得网站根目录的几个方法
  5. Mysql 数据库表操作
  6. [转] 一个资深iOS开发者对于React Native的看法
  7. 菜鸟做HTML5小游戏 - 刮刮乐
  8. MYSQL 加密的 3 类方法
  9. mysql获取当前日期的周一和周日的日期
  10. 【转载】 ISO14229系列之一:简介
  11. ValueError: too many values to unpack (expected 2)
  12. Java后缀数组-求sa数组
  13. IDEA启动tomcat乱码
  14. Unity 新手入门 如何理解协程 IEnumerator yield
  15. [CF49E]Common ancestor
  16. TCP 三次握手理解和过程
  17. sql 一对多查询
  18. Create a Hadoop Build and Development Environment
  19. WPF重写Button样式
  20. 如何让触摸事件穿透一个View

热门文章

  1. Yarn源码分析之MRAppMaster:作业运行方式Local、Uber、Non-Uber
  2. 2017-5-14 湘潭市赛 Strange Optimization
  3. linux上安装python3同时保留python2
  4. mysql 京东
  5. php文件加密
  6. Unity3D学习笔记——NGUI之UISlider
  7. iOS -- 全局导航栏返回键
  8. 如何通过sequel pro导入.sql脚本
  9. awk 特征相同的行合并
  10. NodeJS版本EasyDarwin开源流媒体服务器开发心得