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("张丹","女");
//克隆,用处不很大,完全可以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克隆&引用类&加载类&面向对象串讲&函数重载的更多相关文章
- php部分---面向对象静态、抽象类、oop接口、加载类、魔术方法、关键字。
静态 static关键字 普通成员普通成员是属于对象的 静态成员静态成员是属于类的 普通方法里面可以调用静态成员静态方法里面不能调用普通成员self关键字 在类里面代表该类 普通类class Ren ...
- 【PHP面向对象(OOP)编程入门教程】23.自动加载类 __autoload()函数
很多开发者写面向对象的应用程序时,对每个类的定义建立一个 PHP 源文件.一个很大的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件的列表. 在软件开发的系统中,不可能把所有的类都写在 ...
- 10月27日PHP加载类、设计模式(单例模式和工厂模式)、面向对象的六大原则
加载类可以使用include.require.require_once三种中的任意一种,每个关键字都有两种方法,但是这种方法的缺点是需要加载多少个php文件,就要写多少个加载类的方法.一般也就需要加载 ...
- PHP 进阶篇:面向对象的设计原则,自动加载类,类型提示,traits,命名空间,spl的使用,反射的使用,php常用设计模式 (麦子学员 第三阶段)
以下是进阶篇的内容:面向对象的设计原则,自动加载类,类型提示,traits,命名空间,spl的使用,反射的使用,php常用设计模式 ================================== ...
- php面向对象加载类、常用设计模式
加载类: include("./Ren.class.php"); include "./Ren.class.php"; 用此方法的时候include后面要加空格 ...
- PHP面向对象深入研究之【命名空间】与【自动加载类】
命名空间 避免类名重复,而产生错误. <?php require_once "useful/Outputter.php"; class Outputter { // outp ...
- php面向对象加载类
php加载类: 新建php文件用驼峰法命名类名: 每个单词首字母大写,后面加.class.php表示这是php类文件.例如: ClubMember.class.php 若为纯php页面,<?ph ...
- php之类,对象(四)加载类及练习题
一.加载类:1.命名类文件的时候每个单词首字母大写,后面缀上.class.php eg: Info.class.php 在写编码时定义类名首字母大写,定义变量名小写 eg:class Ren { pu ...
- PHP命名空间与自动加载类详解
本文实例讲述了PHP命名空间与自动加载类.分享给大家供大家参考,具体如下: 今天我要给大家介绍的是PHP的命名空间 和 自动加载类 我先简单的分开演示 在放在一起 大家请看:什么是自动加载类? 想必大 ...
随机推荐
- DatabaseFactory.CreateDatabase 方法操作数据库
using Microsoft.Practices.EnterpriseLibrary.Data;using Microsoft.Practices.EnterpriseLibrary.Data.Sq ...
- nginx源码学习_数据结构(ngx_int_t)
nginx中关于整型的数据结构位于src/core/ngx_config.h中 结构比较简单,就是一个typedef的操作,具体如下: typedef intptr_t ngx_int_t; type ...
- Django学习之项目结构优化
其实就是采用包结构,比如: 目录models,包含__init__.py,a.py,b.py 然后将model class写在a和b中,但是这样的话,导入时就要改变了! from models imp ...
- cef
http://blog.csdn.net/hats8888/article/details/53886591 http://blog.csdn.net/gong_hui2000/article/det ...
- c++ 用namespace实现java的package的功能
以前喜欢这样组织文件: myproject/src/moduleA放moduleA的所有cpp文件 myproject/include/moduleA放moduleA的所有h文件 对moduleB.C ...
- 在海思hisiv100nptl平台上交叉编译并安装SRS
./configure --with-arm-ubuntu12 && make 须要安装: apt-get installgcc-arm-linux-gnueabi ,但hi3 ...
- linux 个人测试用例
1. 我想在某个目录下, 找到某个文件中有某个字符(leon)的文件, 并列出来? (如果是在windows下, 可能需要一个文件一个文件的看, 但是在 linux 下可以实现) find . –ma ...
- oracle数据库中VARCHAR2(50 CHAR) 和VARCHAR2(50) 有啥区别?
VARCHAR2(50 char)这种类型的字段最多放50个字符,不够50个用空格填充:而VARCHAR2(50)最大允许存放50个字符,但是不足50个也不用空格填充.varchar2是变长字符串,与 ...
- (转载)将一段符合XML格式规范字符串插入已有XML文档当中
想我们已经存在一个XML文档,结构如下: < xmlversion="1.0"encoding="utf-8">< employees&g ...
- 微信小程序 快键键
快捷键 格式调整 - Ctrl+S:保存文件 - Ctrl+[, Ctrl+]:代码行缩进 - Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块 - Ctrl+C Ctrl+V:复 ...