• php面向对象(四)


    php中的重载技术

      通常面向对象语言的重载技术
      在一个类中有多个同名方法,每个方法的参数不同,这种现象称为重载。

      参数的不同:个数不同,类型不同,顺序不同。
      在php中,一个类中不可以定义多个同名方法(这是直接语法错误),因此php重载有特殊的意义;


      属性重载:如果使用一个不存在的属性,就会自动去调用预先设计好的某个方法;


          取值:$v1 = 对象->属性;======如果不存在======》自动调用类中的__get()方法
          赋值:对象->属性=值;======如果不存在========》自动调用类中的__set()方法
          判断是否存在:issrt(对象->属性;)==如果不存在=》自动调用类中的__isset()方法
          销毁:unset(对象->属性;)======如果不存在===》自动调用类中的__unset()方法

          //前提是类中要预先定义好这些 
          当使用一个对象(类)调用一个不存在的静态方法时,会自动去调用预先定义好的:__callStaric 方法,其中必须。带两个参数。

          __get(), __set(), __isset(), __unset(), __call(), __callstatic();这几个方法称为魔术方法。

        方法重载:如果使用一个不存在的方法,就会自动调用类中预先定义好的某个方法处理;

    接口interface

      接口是抽象类的特殊例子:有接口常量,还有抽象方法。

      接口中只有最简单的特性信息:接口常量(就是常量),抽象方法(只有方法头,下级去实现)

      接口的作用:接口可以看做抽象类的更高层的抽象规范,不考虑接口常量的话,相当于给下级做什么事,怎么做下级自己去完成。

      有关类和对象的相关知识

        类的自动加载:不需要外部引用类文件,程序在需要一个类的时候自动去动态加载。

      使用__autoload魔术函数

          当程序需要一个类的时候,就回去调用该函数:该函数我们需要自己定义在其中,写好加载类文件的通用语句。

         

      

      使用__autoload魔术函数
        当程序需要一个类的时候,就回去调用该函数:该函数我们需要自己定义在其中,写好加载类文件的通用语句。
      使用sql_autoload_register函数
        用这个函数注册(声明)多个可以用来代替_autoload函数作用的函数:
          sql_autoload_regist("函数名1");
          sql_autoload_regist("函数名2");
          ... ...

        

  • 相关阅读:
    出现java.lang.UnsupportedClassVersionError 错误的原因
    java.lang.NoClassDefFoundError: javax/transaction/SystemException
    Hibernate参考文档学习笔记——Hibernate入门(二)
    图解Ant安装配置
    Hibernate参考文档学习笔记——Hibernate入门(一)
    scanf用在gets等函数之前会出现什么问题
    转向Web
    大道至简
    xdebug远程调试Vagrant虚拟机中web程序的注意点
    多个ssh private key的管理办法
  • 原文地址:https://www.cnblogs.com/sword082419/p/9151880.html
Copyright © 2020-2023  润新知