zoukankan      html  css  js  c++  java
  • 面向对象(五)

    对象的复制(克隆)clone(默认为浅克隆)
      浅克隆:只能克隆对象的!非对象!非资源!数据
      深克隆:对一个对象进行完全克隆;想要实现需要深克隆需要对对象使用魔术方法“_clone()”,并且在里面实现,认为复制浅克隆复制不了数据


    对象遍历
      对象也可以使用foreach进行遍历,
      注意:
        1.只能遍历属性
        2.只能遍历看得到的属性
      举个例子:

      

    php内置标准类

    这个类内部没有任何属性,但是可以使用这个类的属性--不存在的属性。

    数据转化为对象

      转换基本语法:  

        对象转换为对象:没有变化;

        数组转换为对象:数组的键名当做属性名,值为对应的值;

          通常数字下标对应属性并不方便操作( -> ),所以通常就适合纯数字下标的数组。   

      

        null转换为对象(空对象);

        

        其他标量数据转换为对象:属性名为固定的“scalar”,值为该变量的值。

        

    类型约束

      许多语言中,类型约束是语法上的要求,在定义一个变量时,必须指定类型,并且以后也只能存储该类型数据(强类型语言)

      php属于弱类型语言,特点是变量无需指定类型,而且在其后也可以储存任何类型。

      注意:在php的较新语法中,在某些特定场合,针对某些特定类型,也可以进行语法约束;

        特定场合:函数(或者方法)的形参变量

        特定类型:对象类型(类名)、接口类型(接口名)、数组类型(array)、函数类型(callable);

      function f1 (类名 $p1){......}; 要求该参数只能使用该类的对象;

      function f1 (接口名 $p1){......};要求改参数只能舒勇实现该接口的对象;

      function f1 (array $q1){......};要求改参数只能使用数组;

      function f1 (callable $q1){......};要求改参数只能是一个函数或者方法,此时称之为回调函数或回调函数。

  • 相关阅读:
    MySQL JDBC驱动 01 Class.forName
    Sybase性能调试 Statistics
    MySQL InnoDB存储引擎 MySQL介绍
    Sybase性能调试 dbcc trace
    ASP.NET页面的生命周期
    注册JavaScript?
    泛型
    静态类和静态类成员
    构造函数
    MYSQL常用操作
  • 原文地址:https://www.cnblogs.com/sword082419/p/9166897.html
Copyright © 2011-2022 走看看