PHP语言学习之PHP面向对象(一)
小标 2019-02-22 来源 : 阅读 1056 评论 0

摘要:本文主要向大家介绍了PHP语言学习之PHP面向对象(一),通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言学习之PHP面向对象(一),通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

PHP语言学习之PHP面向对象(一)

一、概念:


  PHP5正式版引入面向对象的全部机制。


  面向对象程序设计(OOP):计算机程序时由单个能够起作用的单元或对象组合而成的,为了实现整体运算,每个对象都能够接收信息、处理数据和向其他对象发送信息。


  面向对象三个目标:重用性、灵活性和扩展性。


  面向对象的特点:封装、继承和多态。


  类:是一个独立的程序单位,是具有相同属性和服务的一组对象的集合。其内部包括成员属性和服务的方法两个主要部分。


  对象:系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和有权对这些属性进行操作的一组服务组成。


二、类的声明:  关键字class


  语法格式:


  [修饰符] class 类名
          {
         【成员属性】定义变量   


         【成员方法】定义函数
    }


 <?           
                             
                         "Hello World!"          
  ?>


三、实例化对象


  语法格式:$变量名 = new 类名称([参数列表]);


    或者:$变量名 = new 类名称;


 <?           
                             
                         "Hello World!"          
  
 
     =     = 
 ?>


  对象类型在内存中的分配:


    1)栈空间段:特点是空间小,但被CPU访问的速度快,用于存放程序中临时创建的变量。由于栈的后进先出特点,所以栈特别方便用来保存和恢复调用现场。【double、Boolean】


    2)堆空间段:堆用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减,用于存储数据长度可变或占内存比较大的数据。【字符串、数组、对象】


    3)初始化数据段:用来存放可执行文件中已初始化的全局变量,换句话说就是存放程序静态分配的变量。


    4)代码段:用来存放可执行文件的操作指令,也就是说它是可执行程序在内存中的镜像。代码段需要防止在运行过程时被非法修改,所以只允许读取操作,而不允许写入(修改)操作。


  对象类型的数据是一种占用空间比较大的数据类型,并且是占用的空间不定长的数据类型,所以对象创建完成后被存在堆内存中,但对象的引用名称是存放在栈中里面的。


四、对象中成员访问


  对象中包含成员属性和成员方法,访问对象中的成员则包括成员属性和成员方法的访问。特殊运算符“->”来完成对象成员的访问。


  语法格式:


    $引用名 = new 类名称([参数列表]);


    $引用名 -> 成员属性 = 值;


    echo $引用名 -> 成员属性;


    $引用名 -> 成员方法;


 <?           
                             
                         "Hello World!"          
  
 
     =     = 
     ->name = "张三"     ->age = 20      "我叫:{->name} 今年{->age}岁了!"     -> 
 ?>


  特殊的对象引用:$this


    对象一旦被创建,在对象中的每个成员方法里都存在一个特殊的对象引用“$this”。成员方法属于哪个对象,$this就代表哪个对象,专门用来完成内部对象成员之间的访问。


 <?           
                             
                         "我叫:{->name} 今年{->age}岁了!Hello World!<br>"             
          
  
 
     =     = 
     ->name = "张三"     ->age = 20     -> 
     ->name = "李四"     ->age = 22     -> 
 ?>


五、构造方法与析构方法


  构造方法和析构方法是对象中的两个特殊方法,他们都与对象的生命周期有关。构造方法是对象创建完成后第一个被对象自动调用的方法;而析构方法是对象在销毁之前最后一个被对象自动调用的方法。


  1)构造方法


    当创建一个对象时,构造方法就会被自动调用一次,即每次使用关键字new来实例化对象时都会自动调用构造方法,不能主动通过对象的引用调用构造方法。所以构造方法一般用来初始化任务。构造方法名称必须是“__construct()”。(PHP5的变化,在PHP5以前版本,构造方法必须和类名称相同,PHP5仍可用)


  语法格式:


    function __construct([参数列表])    //构造方法名称是以两个下划线开始的__construct()


    {


      #方法体  通常用来对成员变量赋初值


    }


  2)析构方法


    与构造方法向对应的就是析构方法,PHP将在对象被销毁前自动调用这个方法。析构方法允许在销毁一个对象之前执行一些特定操作,例如关闭文件,释放结果集等。析构方法名“__destruct()”,而且析构方法不能带有任何参数。


  语法格式:


    function __destruct()      //析构方法名称是以两个下划线开始的__destruct()


    {


      #方法体  通常用来完成一些对象销毁前的清理任务


    }


 <?                           
         
           __construct(,              ->name=             ->age=  
                         "我的姓名:".->name." 性别:".->age."<br>"          
                         "这是析构函数。"              ->name."对象被释放了!<br>"   
 
 
     
     = Student("张三",20     = Student("李四",22 
     ->     -> 
 
  ?>

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程