• php面向对象


    1、基本概念:

    面向对象的三大特征:封装、继承、多态

    类:

      是用于描述“某一些具有共同特征”的物体的概念,是某一类物体的总称

    对象:

      是指一个具体的“物体”,该物体隶属于某个“类别”(类)

    //定义一个类
    class person{
        //定义姓名属性
       var $name = "";     
        //定义说话的方法
        function say($name){
            echo $name."说话";   
        }
    
    } 
    
    //实例化对象
    $zs = new person();
    //赋值
    $zs->name="张三";
    //调用方法
    $zs->say($zs->name);   
    

      2、面向对象的语法:

    (1)定义类;定义类的语法中只有

    1.1定义属性(变量)

    1.2定义方法(函数)

    1.3定义常量(类常量)

    三种代码。

    (2)创建类对象,就是上边的$zs = new person();

    (3)使用对象:

    3.1使用其属性:因为属性就是“变量”,则使用其属性,

    3.2使用其方法:因为方法就是“函数”,则使用其方法,

    3.3使用其常量:类似使用以前的普通常量。

    //赋值
    $zs->name="张三";
    //调用方法
    $zs->say($zs->name);  
    

      3、创建对象的基本形式

    方式1

    $对象名1  =  new  类名(); //对象名就是变量名;类是应该定义过了

    方式2:

    $N = 'person';
    $name2 = new $N();//可变类(名)
    

     方式3: 

    $对象名3 = new  self; //self指代类本身,这行代码只能在类内部方法中使用

    方式4:通过对象创建对象

    $name3 = new $name2;//通过对象创建该类的新对象
    

      

    4、对象的传值

    php中,变量传值方式有2个:

    值传递: 传递的时候,拷贝的是数据本身。默认都是值传递。

    结果:传递完之后,有了2份同样的数据,但两个变量“相互独立”没有关系。

    引用传递: 传递的时候,拷贝的是引用关系。需要使用“&”才能实现引用传递。

    结果:传递完之后,数据仍然只有一份,但是两个变量共同指向该数据。

    面向对象的传值也是如此,默认是值传递

    class num{
        var p = 10;
    
    }
    
    $p1 = new num();
    $p2 = $p1;
    $p1->p=20;
    $p3 = new num();
    var_dump($p1);
    var_dump($p2);
    var_dump($p3);
    

      

    对象变量进行普通传值的时候,复制的是对象变量中所存储的“对象标识符”(就是[2],[3])

    5、属性

    就是放在一个类中的变量

    定义形式:

    形式1:      var  $v1 ; //定义不赋值

    形式2:     var  $v2 = 2; //定义的同时可以赋值,该值只能是“直接值”,常量(值)

    //不能是变量值,也不能是“计算表达式”

    形式3:     public  $v1;

    形式4:     public   $2 = 2; //其实var是“public”一个别名,正式用public更好。

    使用形式:

    $对象->属性名; //注意:属性名前面没有$符号。

     

    6、方法

    class peop{
       public $name;
       public $age;
       public $sex;
    //定义方法
       function info(){
    		echo '我是'.$this->name;
    	}
    }
    
    //调用方法
    $ls = new peop;
    $ls->name = '李四';
    $ls->info();
    

      $this是一个“伪对象”,代表当前所属类的当前对象

    通俗讲,谁调用了函数,$this就指类中的对象

    一个系统函数:get_class(对象);

    作用:获得某个对象的“所属类名”——结果只是一个类名字符串。

    echo get_class($ls);
    //结果是info
    

      





  • 相关阅读:
    关于virtual、非virtual继承函数的调用
    关于文件操作的文件格式与打开方式
    C++ 文件读写操作
    C++语法题
    检测java string变量是否含有中文
    常用知识库
    WMS仓储管理系统
    运输管理
    ipconfig/flushdns 清除系统DNS缓存
    cmd查看域名账号相关的命令
  • 原文地址:https://www.cnblogs.com/1500418882qqcom/p/10370299.html
Copyright © 2020-2023  润新知