专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

PHP new:实例化对象

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/17 14:50:55       共计:3643 浏览
前面我们介绍了怎么定义一个类,但是我们要使用类中的属性和方法并不像使用变量和函数那样简单,首先要对类进行实例化才行,下面就来详细介绍一下。

实例化对象

将类实例化成对象非常容易,只需要使用 new 关键字并在后面加上一个和类名同名的方法即可。当然如果在实例化对象时不需要为对象传递参数,在 new 关键字后面直接用类名称即可,不需要再加上括号。

对象的实例化格式如下:

变量名 = new 类名(参数数列表);

变量名 = new 类名;

参数说明如下:
  • 变量名:通过类所创建的一个对象的引用名称,可以通过这个名称来访问对象的成员;
  • new:关键字,表明要创建一个新的对象;
  • 类名:表示新对象的类型;
  • 参数列表:指定类的构造方法用于初始化对象的值,如果类中没存定义构造函数,PHP 会自动创建一个不带参数的默认构造函数。(后面我们会详细介绍)。

【示例】创建一个类并将其实例化。
<?php
    class Students{

    }

    $person1 = new Students();
    $person2 = new Students;
    $person3 = new Students;
    var_dump($person1);
    echo '<br>';
    var_dump($person2);
    echo '<br>';
    var_dump($person3);
?>
运行结果如下:

object(Students)#1 (0) { }
object(Students)#2 (0) { }
object(Students)#3 (0) { }

一个类可以实例化出多个对象,每个对象都是独立的。在上面的代码中通过 Students 类实例化出三个对象 $person1、$person2 和 $person3,相当于在内存中开辟了三份空间用于存放每个对象。

使用同一个类声明的多个对象之间是没有联系的,只能说明他们都是同一个类型,每个对象内部都有类中声明的成员属性和成员方法。就像独立的三个人,都有自己的姓名,性别和年龄的属性,每个人都有说话、吃饭和走路的方法。

访问对象中的成员

对象中包含成员属性和成员方法,访问对象中的成员和访问数组中的元素类似,只能通过对象的引用来访问对象中的成员。但还要使用一个特殊的运算符号->来完成对象成员的访问,访问对象中成员的语法格式如下所示:

变量名 = new 类名(参数);   //实例化一个类
变量名 -> 成员属性 = 值;   //为成员属性赋值
变量名 -> 成员属性;           //直接获取成员属性的值
变量名 -> 成员方法();        //访问对象中的成员方法

下面通过一个示例来演示一下:
<?php
    class Website{
        public $name, $url, $title;
        public function demo(){
            echo '成员方法 demo()';
        }
    }

    $student = new Website();
    $student -> name = 'C语言中文网';
    $student -> url = 'http://c.biancheng.net/php/';
    $student -> title = '实例化对象';

    echo $student -> name.'<br>';
    echo $student -> url.'<br>';
    echo $student -> title.'<br>';
    $student -> demo();
?>
运行结果如下:

C语言中文网
http://c.biancheng.net/php/
实例化对象
成员方法 demo()

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:MySQL查看用户权限 | ·下一条:C++ find_first_of()函数完全攻略

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有