资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php面向对象基础总结-创新互联

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名虚拟主机、营销软件、网站建设、石狮网站维护、网站推广。封装

封装,继承,多态是面向对象的三大特性,本文总结一下 php 是如何实现这三大特性的

封装

创建类

普通类

class className{     public $attribute1  //成员属性     //成员方法     function fun1(){         echo "method1"     }          }

抽象类

abstract class className1{     //抽象方法     abstract public function fun1();     abstract private function fun2();     abstract protected function fun3(); }
  • 抽象类至少有一个抽象方法

  • 抽象类不能被实例化,只能被继承 extends

  • 继承的派生类要把所有方法重载才能实例化对象

接口

可以看做是一种成员属性全部为抽象的抽象类,用作定义规范(面向接口编程)

interface IName {     const NAME;     function fun1(); }
  • 接口中方法 必须全为 抽象方法

  • 接口中成员方法和属性为 public

  • 接口成员属性必须为常量

  • 接口不能被实例化,只能被引用 implement

  • 被引用后,派生类不许把所有方法重载才能实例化对象

new 关键字

实例化对象,使用 -> 访问对象内容 (成员属性和成员方法)

$instance1 = new className;    //实例化对象 $instance1->attribute1;        //访问成员属性 $instance1->method1();           //访问成员方法

封装关键字 public, protected, private

作用域publicprotectedprivate
全局YesNoNo
继承类YesYesNo
本类YesYesYes

类的成员方法前如不加封装关键字,默认为public,不过最好加上关键字,便于阅读

$this 关键字

访问当前 对象 中的成员属性和成员方法

self:: 关键字

在不实例化的情况下访问当前 的成员属性和成员方法, 作用域在定义类时确定。该关键字常与 static, const 搭配使用,用于访问静态成员和常量

类名:: 属性名 或 类名:: 方法名

在不实例化的情况下访问当前 的成员属性或成员方法。常用于在派生类中访问基类成员

继承

extends 关键字

php 只能单一继承

class B extends A{     ...... }

implements 关键字

用于引用接口,不同于继承的单一性,一个类可以引用多个接口

class A implements demo1, demo2, demo3{     ...... }

extends 与 implements 混用

先继承后引用,单继承多引用

class A extends B implements demo1, demo2, demo3{     ...... }

final 关键字

final class className1{     final func1(){         ......     } }
  • 加了 final 关键字的类不能被继承

  • 基类中加了 final 关键字的成员方法不能在派生类中被重载

多态

static 关键字

加了 static 关键字的成员方法和成员属性不具备多态性,用于在不实例化的情况下访问。静态属性单独占用内存,不会在对象实例化时被反复创建。

class className1{     static $atrr1;     static func1(){         ......     } }

const 关键字

用于在类中定义常量,类似用于在外部定义常量的PHP关键字 define(); const 只能修饰类中的成员属性

class className1{     const NAME; }

常量一般用大写字母命名,且常量不使用 $ 符号

instanceof 关键字

用于判断对象实例类型

$obj = new A(); if ($obj instanceof A) {    echo 'A'; }

摘自php手册

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:php面向对象基础总结-创新互联
URL地址:http://cdkjz.cn/article/ddiojs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220