PHP类与对象使用---技巧总结

public(公有):公有类可以在任何地方被访问;

protected(受保护):受保护的类成员则可以被其自身及其子类和父类访问;

private(私有):只能被自身的类访问。


1、类常量const :类中始终保持不变的值定义为常量,且定义和使用常量的时候不需要使用 $ 符号

注意:常量的值必须是一个定值,不能是变量,类属性,数学运算的结果或函数调用。

2、自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如selfparentstatic)。

3、范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问 静态 成员,类常量,还可以用于覆盖类中的属性和方法。

self,parent和static这三个特殊的关键字是用于在类定义的内部对其属性或方法进行访问的。


4、PHP 5 支持抽象类和抽象方法。定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。


abstract class     AbstractClass

{

           // 强制要求子类定义这些方法

            abstract    protected    functiongetValue();

            abstract    protected    functionprefixValue($prefix);

           // 普通方法(非抽象方法)

             public functionprintOut() {

                       print$this->getValue() ."\n";

                }

}

classConcreteClass1extendsAbstractClass

{

                 protected functiongetValue() {

                  return"ConcreteClass1";

}

public functionprefixValue($prefix) {

               return"{$prefix}ConcreteClass1";

}

}

class    ConcreteClass2          extends             AbstractClass

{

public functiongetValue() {

return"ConcreteClass2";

}

public functionprefixValue($prefix) {

return"{$prefix}ConcreteClass2";

}

}

$class1= newConcreteClass1;

$class1->printOut();

echo$class1->prefixValue('FOO_') ."\n";

$class2= newConcreteClass2;

$class2->printOut();

echo$class2->prefixValue('FOO_') ."\n";

?>

////答案

ConcreteClass1

FOO_ConcreteClass1

ConcreteClass2

FOO_ConcreteClass2


5、使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。

接口是通过interface关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。

接口中定义的所有方法都必须是公有,这是接口的特性。

要实现一个接口,使用implements操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,086评论 19 139
  • 接口/抽象类意义规范、扩展、回调为其子类提供一个公共的类型 封装子类中得重复内容 定义抽象方法,子类虽然有不同的实...
    MigrationUK阅读 2,362评论 1 28
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,143评论 18 399
  • 传送门 解读阿里Java开发手册(v1.1.1) - 异常日志 前言 阿里Java开发手册谈不上圣经,但确实是大量...
    kelgon阅读 4,519评论 4 50
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,861评论 0 11

友情链接更多精彩内容