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的命名空间 和 自动加载类 我先简单的分开演示 在放在一起 大家请看:什么是自动加载类? 想必大 ...
随机推荐
- awk overview
VARIABLES, RECORDS AND FIELDS AWK variables are dynamic; they come into existence when they are fir ...
- 试题系列四(袋中有6红球 3黄球 3绿球,从中取6个球,求所有拿到球的颜色的可能 c(12,6))
1.袋中有6红球 3黄球 3绿球,从中取6个球,求所有拿到球的颜色的可能 c(12,6) #include<stdio.h> int main(int argc, char** argv) ...
- docker的使用01
使用Dockerfile构建镜像 vim dockerfile01 #注释信息 FROM ubuntu:latest //导入镜像 MAINTAINER leo "leo@leo.com&q ...
- 基于windows的resin配置
Resin 与 Eclipse for JavaEE 的整合方法: 1.新建一个项目,将web application配置到resin.conf中 附上resin_struts2-111.conf文件 ...
- 分布式服务框架 Zookeeper(三)官方入门指南
入门指南:使用ZooKeeper来协调分布式应用 这篇文档包含了让你快速上手ZooKeeper的信息.主要是针对那些想要试一把ZooKeeper的开发人员,包含了安装一个单一ZooKeeper服务器的 ...
- Java并发编程(六)发布与逸出
"发布(Publish)"一个对象的意思指,使对象能够在作用域之外的代码中使用. 例如: 将一个指向该对象的引用保存到其他代码可以访问的地方 在一个非私有的方法中返回该引用 将引用 ...
- MAC下一些常用的命令行
统计了一下工作中一些会常用到的简单命令,加强记忆 ls 查看当前终端目录下面的文件 ls -a "ls -a"会出现一些带.xxxx的文 ...
- 使用transform实现手风琴布局
- spark hive结合杂记(hive-site.xml)
1.下载spark源码,在spark源码目录下面有个make-distribution.sh文件,修改里面的参数,使编译后能支持hive,修改后执行该文件.(要预先安装好maven才能编译). 2.将 ...
- POJ 1426 Find The Multiple && 51nod 1109 01组成的N的倍数 (BFS + 同余模定理)
Find The Multiple Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21436 Accepted: 877 ...