1.实例化类时,需要用 :: 调用常量
1 class MyClass3{2 ????const CONST_VALUE = ‘A constant value‘;3 }4 5 $obj3 = new MyClass3();6 echo $obj3::CONST_VALUE;
2.使用静态方法或者静态变量 可以不实例化直接用类名 必须使用 :: 调用
1 class MyClass4 2 { 3 ????public static $my_static = ‘静态方法的变量<br>‘; 4 ?5 ????public static function doubleColon() { 6 ????????echo self::$my_static . "\n"; 7 ????} 8 } 9 10 echo MyClass4::$my_static;11 MyClass4::doubleColon();
3.抽象类和抽象方法说明
(1).抽象类不能被实例化
(2).抽象类中至少有一个方法是被声明为抽象的
(3).抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。
(简单来说,也就是只能定义抽象方法的名称,不能在里面写逻辑处理)
(4).继承一个抽象类的时候,子类必须定义父类中的所有抽象方法
(5).子类重定义父类抽象方法时,声明等级必须大于等于父类
(6).子类可以定义父类中不存在的可选参数
(7).附属知识点 花括号来界定变量名的边界 "{}"
1 abstract class AbstractClass 2 { 3 ?// 强制要求子类定义这些方法 4 ????abstract protected function getValue(); 5 ????abstract protected function prefixValue($prefix); 6 ?7 ????// 普通方法(非抽象方法) 8 ????public function printOut() { 9 ????????print $this->getValue() . "\n";10 ????}11 }12 13 class ConcreteClass1 extends AbstractClass14 {15 ????public function getValue() {16 ????????return "重定义父类的抽象方法";17 ????}18 19 ????public function prefixValue($prefix,$xinxin="") {20 ????????return "{$prefix}重定义父类的抽象方法{$xinxin}哈哈";21 ????}22 }23 24 $obj5 = new ConcreteClass1();25 echo $obj5->getValue();26 echo "<br>";27 echo $obj5->prefixValue("多加个参数 "," 新的参数");
原生php 使用重点 要点 忽略点!
原文地址:http://www.cnblogs.com/zhaoxiwang/p/7991983.html