• 两个特定语法场景与3大思想特征


    一、两个特定语法场景的辨析:

    1、对象向下传递特性;

      当一个对象($o1) 调用一个实例方法,然后,在该实例方法(f1)中又去“静态”调用另一个类的方法(f2),则在方法f2中,会自动获得在方法f1中的那个$this对象。

           

      对比:

           

        可见f2方法直接调用会产生严重错误(因为找不到$this)

     

    2、static后期静态绑定特性:

         

    可见static3个不同含义的语法:

    函数中的静态变量:

    function  f1(){

      static $v1 = 1;

    }

    类中的静态成员:

    class A{

      static  $v1 = 1;

      static  function f1(){}

    }

    方法中的动态指代“当前类”:

    class A{

      function f1(){

        static::f2();//static此时指代调用f1这个方法的类(或对象的类)

        self::f2(); //self这里永远指代当前A这个类。

      }

    }

    二、面向对象3大思想特征介绍:

    1、封装:

    (1)是什么:就是把数据“封闭”起来,尽量不给别人看到。

    (2)最基本封装:面向对象的基本语法“类的定义”形式,可以认为是最基本封装——封装了很多数据到某个类(对象)。

    (3)但:

      更严格(更常说)的封装,是尽量将属性做出“私有的”——并通过共有的方法来向外提供对该属性的“可控性操作”:

            

    2、继承:

          https://www.cnblogs.com/wjglm/p/9758724.html

    3、多态:

      (1)多态:看起来用的是相同的东西(方法),但会得到不同的结果。

      (2)通常是指:一个对象可以使用相同的方法(动作)但得到不同的结果:

        (这里是其他常见面向对象语法示例:)

    class A{

      function  f1($x ){....做事情1;。。。。}

      function  f1($x, $y ){....做事情2;。。。。}

      function  f1($x, $y, $z ){....做事情3;。。。。}

    }

      也指:不同的对象使用相同的方法,但得到不同的结果:

         

  • 相关阅读:
    sqlserver2005转换到2000
    vs2008的注册
    给联想K46装系统
    两个调片技巧
    mapx集合的问题
    audio player播放多文件
    JQuery查询ul嵌套结构中当前所处的位置
    .Net中使用带UI的OCX的方法
    U盘启动和量产
    winrar的图标
  • 原文地址:https://www.cnblogs.com/wjglm/p/9811442.html
Copyright © 2020-2023  润新知