zoukankan      html  css  js  c++  java
  • PHP面向对象基本概念 类与对象 静态属性 构造/析构方法

    1.传统的面向过程和现代面向对象
      传统面向过程:是指把将要完成的工作分为若干个步骤一步一步的完成
      现代面向对象:是指将要完成的工作拆分为一个一个的对象的任务(功能)每个对象独自完成自己的任务
     可以理解为: 一个大扫除 面向过程就是一个人干完大扫除 面向对象就是 一个人扫地 一个人拖地
    2.面向对象的基本概念
      三大特性:封装 继承 多态
      类与对象:
              张三是一个对象,李四是一个对象 他们都隶属于人这个类
             类:描述某一些具有共同特征的物体的概念
             对象:是指一个具体的物体,该物体隶属于某个类别
             通常,对象离不开类,没有类就没有对象  没有对象可以有类
                 class Human{   //定义一个类 class是关键字
                        //类中有一些属性(就是变量)
                       var $name = '张三';
                       var $sex = '男';
                       var $age = '20';
                        //类中与一些方法(就是函数)
                         function show(){
                                  echo '姓名:'.$this->name.';性别:'.$this->sex.';年龄:'.$this->age;
                 }
                          const PI = 3.14  //类中有一些常亮(类常亮)    
           }  
        类中的属性:
           定义形式(var是public的别名):
             var $v1; //可以定义不赋值
             var $v2 = 2; //定义的同时赋值 值不能是变量和计算表达式
             public $v1;
             public $2 = 2;
           使用形式:
             $对象->属性名    //属性名前面没有$符号
        创建类的对象:
         //调用
         1.对象名 = new 类名(Human)();
         2.可变类名
            变量名($name)= "类"
            对象名($lisi) = new 变量名($name)();
         3.对象名 = new self;只能在类的内部使用 指的是本身
            function cself(){
               return new self
             }
            例如:$lisi = new Human();
                      $zhangsan =  $lisi->cself();
                      他俩是相等的
         4.对象名1 = new 类名() 对象名2 = new 对象名1;
        对象的传值:
           值传递:复制数据 相互独立
           引用传递: 复制的是关系 一个改变另一个也改变
           关键字 &;
       一般方法:
           定义是一样的  使用是
           使用也是   ->
           访问修饰符 不写就是public
           $this 关键字 是一个伪对象 代表当前所属类的当前对象
              对象不一样 显示的内容也是不一样的
      系统函数:
          获取某个对象的 类名  结果只是一个类名字符串
          对象名 = new 类名() get_class(对象名)的结果就是类名
       静态属性:
         关键字 static
         static  $v1 = 10;
         用法:类::属性名;
       静态方法:
         不能存在$this 不能存在类的东西
       构造方法:
          关键字 __construct();
          如果你不写 就是调用  function ____construct(){
    }
          不能是静态方法
          使用$this来赋值
       析构方法:
         销毁对象时自动调用 php代码执行结束会自动销毁对象 可用析构方法查看
         不能调用  自己执行  不能有形参
         手动销毁unset($p1);

  • 相关阅读:
    Python异常处理详解
    Python with/as和contextlib上下文管理使用说明
    Python面向对象基础:编码细节和注意事项
    搞懂Python的类和对象名称空间
    Python丢弃返回值
    Python面向对象基础:设置对象属性
    python的dir()和__dict__属性的区别
    Go Web:RESTful web service示例
    Go处理json数据
    json数据格式说明
  • 原文地址:https://www.cnblogs.com/xzz123-/p/9142510.html
Copyright © 2011-2022 走看看