`

PHP基础----类

    博客分类:
  • PHP
 
阅读更多

 

  • PHP中类的定义方法

   格式:

   class  类名

  {

      //类定义内部

      var  $属性1;

      var  $属性2;

      …

      var  $属性n;

      function  方法1(){

      }

      function  方法2(){

      }

       …

      function  方法n()

      {

      }

   }

 

1、类定义内部$this的含义:指向类本身

 

2、类定义内部属性的访问方法:$this->属性     外部: $对象名->属性

 

3、类定义内部函数的访问方法:$this->函数()    外部: $对象名->函数()

 

4、类的构造函数:与类名相同的函数,在类被实例化时自动执行。

 

5、类的继承,将继承基类的所有属性和函数:class  新类名  extends 基类{…}

 

6、类的定义一般放在一个单独的文件中,在需要该类时包含进来即可。

 

7、类的实例化方法:   $对象名=new  类名(); $对象名=new  类名(值1,值2,..,值n);

 

8、类中成员(属性及函数)的修饰符:

    1)  private  ------------私有的,只能在内部被访问,不会被继承

    2)  public   ------------公共的,可以在内部及外部访问,会被继承还是公共的

    3)  protected  --------受保护的,不能在外部被访问,可以被继承,并且继承之后仍然是受保护的

 

    在PHP中,类属性及方法默认都是public。

 

 

 

  • PHP的类和对象函数:

 

  1、class_exists:检索类是否存在

   格式:class_exists(“类名”)

   例:

   //class MyClass{}

   if(class_exists("MyClass"))

   {

         echo "MyClass类存在!";

   }else{

         echo "MyClass类不存在!";

   }

 

   2、get_class:返回一个对象所属类的名字

   格式:get_class(对象)

   例:

   class MyClass{}

   $cmyclass=new MyClass;

   echo get_class($cmyclass);

 

3、get_class_methods:返回包含类的所有方法的数组

   格式:get_class_methods(“类名”)

   例:

class Cart

{

  var $items;  //数组,卡车中货物名称做数组下标,值为货物数量

  function add_item($artnr,$num)   //向卡车中对应货物$artnr增加$num数量

  {

    $this->items[$artnr] +=$num;

  }

  function remove_item($artnr,$num) //从卡车中对应货物$artnr减小$num数量

  {

    if($this-> items[$artnr]>$num)

    {

       $this->items[$artnr] -=$num;

       return true;

     }else{

       return false;

     }

  }

}

$arr=get_class_methods("Cart");

foreach($arr as $method)

{

 echo $method . "<br>";

}

 

4、get_class_vars:返回包含类的所有属性的数组

  格式:get_class_vars(“类名”)

  例:

class MyClass

{

  var $a;

  var $b;

  var $c;

}

$arr=get_class_vars("MyClass");

foreach($arr as $key=>$prop)

{

 echo $key ."=".$prop. "<br>";

}

 

5、get_object_vars:返回一个包含对象所有属性的关联数组

格式:get_object_vars(对象)

例:

class MyClass

{

  var $a;

  var $b;

  var $c;

}

$obj=new MyClass;

$obj->a=1;

$obj->b=2;

$obj->c=3;

$arr=get_object_vars($obj);

foreach($arr as $key=>$prop)

{

 echo $key . "=" .$prop . "<br>";

}

 

6、method_exists:检查对象的方法是否存在

格式:method_exists(对象,”方法名”)

例:

class MyClass

{

  var $a;

  var $b;

  var $c;

  function setA($a)

  {

    $this->a=$a;

  }

}

$obj=new MyClass;

if(method_exists($obj,"setA")==true)

{

   echo "方法存在";

}else{

   echo "方法不存在";

}

 

7、对象之间的比较:

   1)、==:

     如果两个对象属于同一个类,且两个对象对应的属性值相同。则相等,否则不相等。

class MyClass

{

  var $a;

  var $b;

  var $c;

  function setA($a)

  {

    $this->a=$a;

  }

}

$obj=new MyClass;

$obj->a=1;

$obj->b=2;

$obj->c=3;

$obj1=new MyClass;

$obj1->a=1;

$obj1->b=2;

$obj1->c=3;

if($obj==$obj1)

{

  echo “相等";

}else{

  echo “不相等";

}

 

    2)、===:

     如果两个对象之间是引用关系,则两个对象相等,否则不相等。

class MyClass

{

  var $a;

  var $b;

  var $c;

  function setA($a)

  {

    $this->a=$a;

  }

}

$obj=new MyClass;

$obj->a=1;

$obj->b=2;

$obj->c=3;

$obj1=& $obj;

if($obj===$obj1)

{

    echo “相等";

}else{

    echo “不相等";

}

分享到:
评论

相关推荐

    后盾网教学视频 PHP基础--向军 (143课时 6.8G)

    根据提供的文件信息,我们可以从标题、描述以及部分给出的内容中提炼出有关PHP基础知识学习的关键信息。下面将对这些信息进行详细的展开与解释。 ### 标题解析:“后盾网教学视频 PHP基础--向军 (143课时 6.8G)”...

    php基础-快速入门文档php

    ### PHP基础快速入门知识点 #### 一、PHP简介与特性 **PHP** 是一种广泛使用的开源脚本语言,尤其适用于 Web 开发并可嵌入 HTML 中。PHP 的全称是 **PHP: Hypertext Preprocessor**,它是一个递归缩写词。 **特性...

    零基础学习PHP-从零开始学习PHP-PHP基础教程

    本教程“零基础学习PHP-从零开始学习PHP-PHP基础教程”旨在帮助初学者掌握PHP的基本概念和核心技能,让你能够快速入门并逐渐深入到PHP的世界。 1. PHP简介: PHP最初由Rasmus Lerdorf于1995年创建,旨在处理表单...

    jos-php-open-api-sdk-2.0-2024-03-07.zip

    3. **接口类**:根据京东Open API的不同服务,SDK会提供相应的接口类,如`JdGoods.php`(商品操作)、`JdOrder.php`(订单操作)等,每个接口类包含了对应API的调用方法。 4. **示例代码**:为了帮助开发者快速上手...

    php-5.4.7.tar.gz

    《PHP 5.4.7在Linux环境下的部署与应用详解》 ...尽管现在有更先进的版本,但掌握这个版本的配置和使用,对于理解PHP的历史演变和基础原理仍然非常有价值。通过不断学习和实践,开发者可以灵活应对各种项目需求。

    php-5.6.27-Win32-VC11-x86.zip

    6. **glib-2.dll**:GLib是GTK+库的一部分,提供了基础数据类型、内存管理、线程支持等核心功能,可能是因为某些PHP扩展或组件依赖它。 这些文件组合在一起,构成了一个能够在Windows环境下运行的PHP 5.6.27环境。...

    php-5.6.40-nts-Win32-VC11-x64.zip

    2. **命名空间改进**:在PHP 5.6中,命名空间支持更加强大,允许使用相对导入和匿名类,使得代码组织更加清晰。 3. **错误处理**:引入了异常处理,使错误处理更加统一,程序员可以通过try-catch语句捕获运行时错误...

    PHP经典实例--类和对象

    在PHP编程语言中,类和对象是面向对象编程(OOP)的核心概念。这个"PHP经典实例--类和对象"的主题深入探讨了如何利用这些工具来构建高效且可维护的代码。面向对象编程允许我们将复杂的问题分解为独立的组件,也就是...

    PHP基础到高级开发教程-57 PHP类与对象封装.mp4

    PHP基础到高级开发教程-57 PHP类与对象封装.mp4

    php-8.0.0-Win32-vs16-x64.zip

    1. `phar.phar.bat`:这是一个批处理文件,用于执行 phar 扩展,它允许 PHP 处理 PHAR (PHP Archive) 文件,这是一种自包含的软件打包格式,包含 PHP 类、脚本和其他资源。 2. `icudt68.dll`、`icuin68.dll` 和 `...

    php-7.2.34-Win32-VC15-x64.zip

    4. 新的函数和类:增加了如`void`返回类型声明、`list()`语法改进、`::class`常量等新功能,以及对intl、mysqli等扩展的更新。 【压缩包组件详解】 1. `phar.phar.bat`:这是一个用于操作PHP归档(PHAR)文件的...

    PHP面试大全-基础篇

    #### 一、PHP基础知识 **1.1 堆栈** - **堆(stack)**:在PHP中主要用于存储动态分配的内存块,例如对象和数组。堆上的数据是在运行时动态分配和释放的。 - **栈(stack)**:用于存储固定大小的数据类型,如局部变量...

    计算机后端-Java-全面解读PHP面试-案类考察点JavaScript和jQuery基础考察点.wmv

    计算机后端-Java-全面解读PHP面试-案类考察点JavaScript和jQuery基础考察点.wmv

    php-5.5.36-nts-Win32.zip

    总的来说,"php-5.5.36-nts-Win32.zip"是Windows平台上的一个PHP开发环境,对于那些使用PHP 5.5.36版本进行Web开发的程序员来说,它是构建和调试应用程序的基础。通过正确配置和使用,开发者可以创建高效、安全的Web...

    计算机后端-全面解读PHP面试-案类考察点AJAX基础内容考察点.wmv

    计算机后端-全面解读PHP面试-案类考察点AJAX基础内容考察点.wmv

    PHP-Framework-Classes-master.zip

    通过研究这些类的源代码,初学者不仅可以学习到PHP的基础知识,还能了解如何组织和设计类,以及如何利用面向对象的特性如继承、封装和多态来提高代码的结构和效率。此外,学习如何使用设计模式,如单例、工厂、装饰...

    php-5.4.44tar.gz

    《PHP 5.4.44与Nginx环境搭建详解》 PHP 5.4.44是PHP发展中的一个重要版本,它在...通过不断学习和实践,开发者可以掌握更多关于PHP 5.4.44与Nginx的知识,提升自己的技术水平,为构建高质量的Web应用打下坚实基础。

    计算机后端-PHP基础到高级开发教程-54 PHP类与对象(数.mp4

    计算机后端-PHP基础到高级开发教程-53 PHP代码 作用复用 移植 .mp4

    PHP开发手册-基础版

    《PHP开发手册-基础版》是一本专门为PHP初学者和开发者设计的实用指南,旨在帮助他们迅速掌握PHP语言的基础知识并解决开发过程中遇到的问题。PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛应用于Web开发...

Global site tag (gtag.js) - Google Analytics