php部分---面向对象静态、抽象类、oop接口、加载类、魔术方法、关键字。
2016-12-13 15:56
906 查看
静态 static关键字
普通成员
普通成员是属于对象的
静态成员
静态成员是属于类的
普通方法里面可以调用静态成员
静态方法里面不能调用普通成员
self关键字 在类里面代表该类
抽象类 abstract关键字
不能被实例化
做为父类使用
接口 关键词interface implements
极度抽象的类
接口里面的方法主要是用来控制子类必须实现该类里面所有方法
加载类
自动加载类
1.所有的类文件要放在同一个文件夹下
2.所有类文件的命名规则要一致
3.所有类文件的名字要和类名保持一致
克隆对象 关键字clone
魔术方法
构造函数,对类里面成员进行初始化
析构函数,在对象释放的时候自动执行
__set方法
__get方法
__tostring()方法
__clone方法
__autoload方法
__tostring()能够直接输出对象
关键字
1.class 定义类
2.访问修饰符 public protected private
3.new 造对象的关键字
4.$this 代表该对象本身
5.extends 代表继承
6.parent 代表父类
7.static 代表静态
8.self 代表该类
9.abstract 代表抽象,定义抽象类
10.interface 代表接口,用来定义接口
11.implements 实现接口
12.clone 代表克隆
13.override 重写
14.overload 重载
15.oop 代表面向对象
16.final 写在定义类前面的,将该类定义为最终类,则该类不能被继承
普通成员
普通成员是属于对象的
静态成员
静态成员是属于类的
普通方法里面可以调用静态成员
静态方法里面不能调用普通成员
self关键字 在类里面代表该类
普通类 class Ren { public $name="张三"; public static $zhongzu; //静态成员 普通方法 function Say() { echo self::$zhongzu."你好"; }
静态类 static function Run() { echo $this->name; } } Ren::$zhongzu = "民族"; Ren::Run(); $r = new Ren(); $r->Say();
class myclass { static $count;//声明一个静态变量,用来统计对象创建的次数 function __construct()//声明一个静态方法,在类外面直接使用类名就可以调用 { self::$count++;//在方法中使用self访问静态成员并返回 } static function getcount()//声明一个静态方法,在类外面直接使用类名就可以调用 { return self::$count; //在方法中使用self 访问静态成员并返回 } } myclass::$count=0;//在类外面使用类名访问类中的静态成员,为其初始化赋值 $myc1=new myclass();//创建第一个 $myc2=new myclass();//创建第二个 $myc3=new myclass();//创建第三个 echo myclass::getcount()."<br>";//输出3 echo $myc3->getcount();//输出3
抽象类 abstract关键字
不能被实例化
做为父类使用
abstract class YunSuan//定义一个抽象类 { public $a; public $b; function Suan() { } } class Jia extends YunSuan//定义一个jia类继承与上边的抽象类 { function Suan() { return $this->a+$this->b; } } class Jian extends YunSuan//定义一个jian类继承与上边的抽象类
{ function Suan() { return $this->a-$this->b; } } class Cheng extends YunSuan//定义一个jian类继承与上边的抽象类
{ function Suan() { return $this->a*$this->b; } } $jia = new jia(); $jia->a=10; $jia->b=5; echo $jia->Suan();
$jian = new jian(); $jian->a=10; $jian->b=5; echo $jia->Suan();
$cheng = new cheng ();
$cheng->a=10; $cheng->b=5; echo $cheng->Suan();
接口 关键词interface implements
极度抽象的类
接口里面的方法主要是用来控制子类必须实现该类里面所有方法
interface IUSB { function Read(); //接口里面只声明函数名 function Write(); } class ShuBiao implements IUSB { function Read() { echo "鼠标插上了"; } function Write() { echo "给鼠标传了数据"; } } $s = new ShuBiao(); $s->Read();
加载类
include("./Ren.class.php");//"./" include "./Ren.class.php"; require("./Ren.class.php"); require "./Ren.class.php"; require_once("./Ren.class.php"); require_once "./Ren.class.php";
自动加载类
1.所有的类文件要放在同一个文件夹下
2.所有类文件的命名规则要一致
3.所有类文件的名字要和类名保持一致
function __autoload($classname) { require "./libs/".$classname.".class.php"; } $r = new Ren(); var_dump($r); $d = new cat();
克隆对象 关键字clone
class Ren { public $name; function Run() { echo "跑"; } function __tostring() { return "name变量代表的是人员名称,Run方法是一个跑的方法"; } //克隆对象的时候自动调用的方法 function __clone() { $this->name = "李四";//克隆之后给name赋新值 } } $r = new Ren(); $r->name = "张三"; $r1 = clone $r;//克隆的语法 var_dump($r1); var_dump($r);*/
魔术方法
构造函数,对类里面成员进行初始化
function __construct() { }
析构函数,在对象释放的时候自动执行
function __destruct() { }
__set方法
function __set($name,$value) { }
__get方法
function __get($name) { }
__tostring()方法
function __tostring() { }
__clone方法
function __clone() { }
__autoload方法
function __autoload($classname) { }
__tostring()能够直接输出对象
class Ren { public $name; function Run() { echo "跑"; } function __tostring()//不加这个方法,是不能直接输出所造对象的,在类中添加此方法,可以直接输出对象 { return "name变量代表的是人员名称,Run方法是一个跑的方法"; } } $r = new Ren(); echo $r;
关键字
1.class 定义类
2.访问修饰符 public protected private
3.new 造对象的关键字
4.$this 代表该对象本身
5.extends 代表继承
6.parent 代表父类
7.static 代表静态
8.self 代表该类
9.abstract 代表抽象,定义抽象类
10.interface 代表接口,用来定义接口
11.implements 实现接口
12.clone 代表克隆
13.override 重写
14.overload 重载
15.oop 代表面向对象
16.final 写在定义类前面的,将该类定义为最终类,则该类不能被继承
相关文章推荐
- php部分---面向对象静态、抽象类、oop接口、加载类、魔术方法、关键字。
- [麦先生]PHP面向对象中常见的魔术方法以及关键字
- PHP OOP面向对象部分方法归总(代码实例子)
- PHP面向对象中常用关键字和魔术方法
- php学习笔记------[php面向对象中常用关键字与魔术方法]
- php面向对象中的单例与静态方法的对比,以及关于class自动加载的分析
- PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
- PHP面向对象常见的关键字和魔术方法
- PHP面向对象常见的关键字和魔术方法
- 详谈PHP面向对象中常用的关键字和魔术方法
- PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
- 2.0 面向对象 类与实例(关键字)、封装、继承、多态(虚方法,抽象类,抽象方法,接口)
- php学习笔记------[php面向对象中常用关键字与魔术方法]
- 20141014C#面向对象抽象方法,抽象类,接口
- PHP面向对象学习之三:抽象类和接口类的实际作用
- 黑马程序员--03.Java面向对象--06.【final关键字】【抽象类】【接口】
- PHP面向对象中常用的魔术方法总结
- php面向对象中的魔术方法中文说明
- PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
- C#基础系列(9)-- 第三部分 面向对象相关 -- 抽象类与接口(2)