搜尋
首頁php教程php手册访问属性和方法
访问属性和方法Jun 13, 2016 am 11:02 AM
php一樣變數實例物件屬性方法訪問

访问属性和方法

一个对象实例的属性是变量,就像PHP的其他变量一样. 但是你必须使用->运算符来引用它们. 不需要在属性前使用美元符$.

可以联用->,如果一个对象的属性包含了一个对象,你可以使用两个->运算符来得到内部对象的属性. 你甚至可以用双重引用的字符串来放置这些表达式.

访问方法和访问属性类似. ->运算符用来指向实例的方法. 方法执行起来和类外的函数几乎相同.

如果一个类从另一类中继承而来,父类中的属性和方法将在子类中都有效,即使在子类中没有声明. 像以前提到过的,继承是非常强大的. 如果你想访问一个继承的属性,你只需要像访问基类自己的属性那样引用即可,使用::运算符.

<?php    class Room    {        public $name;        function __construct($name="unnamed")        {            $this->name = $name;        }    }    class House    {        //array of rooms        public $room;    }    //create empty house    $home = new house;    //add some rooms    $home->room[] = new Room("bedroom");    $home->room[] = new Room("kitchen");    $home->room[] = new Room("bathroom");    //show the first room of the house    print($home->room[0]->name); ?>

PHP有两个特殊的命名空间:parent命名空间指向父类,self命名空间指向当前的类. 例子6.6中显示了如何用parent命名空间来调用父类中的构造函数. 同时也用self来在构造函数中调用另一个类方法.

<?php    class Animal //动物    {        public $blood; //热血or冷血属性        public $name;        public function __construct($blood, $name=NULL)        {            $this->blood = $blood;            if($name)            {                $this->name = $name;            }        }    }    class Mammal extends Animal  //哺乳动物    {        public $furColor; //皮毛颜色        public $legs;        function __construct($furColor, $legs, $name=NULL)        {            parent::__construct("warm", $name);            $this->furColor = $furColor;            $this->legs = $legs;        }    }    class Dog extends Mammal      {        function __construct($furColor, $name)        {            parent::__construct($furColor, 4, $name);            self::bark();        }        function bark()        {            print("$this->name says 'woof!'");        }    }    $d = new Dog("Black and Tan", "Angus"); ?>

如果你需要在运行时确定变量的名称,你可以用$this->$Property这样的表达式. 如果你想调用方法,可以用$obj->$method().

你也可以用->运算符来返回一个函数的值,这在PHP以前的版本中是不允许的. 例如,你可以写一个像这样的表达式: $obj->getObject()->callMethod(). 这样避免了使用一个中间变量,也有助于实现某些设计模式,如Factory模式.


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何在Java中访问JsonNode的JSON字段、数组和嵌套对象?如何在Java中访问JsonNode的JSON字段、数组和嵌套对象?Aug 30, 2023 pm 11:05 PM

一个JsonNode是Jackson的JSON树模型,它可以将JSON读取为JsonNode实例,并将JsonNode写入JSON。通过创建ObjectMapper实例并调用readValue()方法,我们可以使用Jackson将JSON读取为JsonNode。我们可以使用JsonNode类的get()方法访问字段、数组或嵌套对象。我们可以使用asText()方法返回有效的字符串表示,并使用JsonNode类的asInt()方法将节点的值转换为Javaint。在下面的示例中,我们可以访问Json

iOS 17:如何控制哪些应用程序可以访问您的照片iOS 17:如何控制哪些应用程序可以访问您的照片Sep 13, 2023 pm 09:09 PM

在iOS17中,Apple可以更好地控制应用程序可以看到的照片内容。继续阅读,了解如何按应用管理应用访问权限。在iOS中,Apple的应用内照片选取器可让您与应用共享特定照片,而照片图库的其余部分则保持私密。应用必须请求访问您的整个照片图库,您可以选择授予应用以下访问权限:受限访问–应用程序只能看到您可以选择的图像,您可以随时在应用程序中或通过转到“设置”>“隐私和安全”>“照片”来查看所选图像。完全访问权限–App可以查看照片

如何在Python中获取整数字面量属性而不是SyntaxError?如何在Python中获取整数字面量属性而不是SyntaxError?Aug 20, 2023 pm 07:13 PM

TogetintliteralattributeinsteadofSyntaxError,useaspaceorparenthesis.TheintliteralisapartifNumericLiteralsinPython.NumericLiteralsalsoincludesthefollowingfourdifferentnumericaltypes−int(signedintegers)−Theyareoftencalledjustintegersorints,arepositiveo

使用Python访问各种音频和视频文件的元数据使用Python访问各种音频和视频文件的元数据Sep 05, 2023 am 11:41 AM

我们可以使用Mutagen和Python中的eyeD3模块访问音频文件的元数据。对于视频元数据,我们可以使用电影和Python中的OpenCV库。元数据是提供有关其他数据(例如音频和视频数据)的信息的数据。音频和视频文件的元数据包括文件格式、文件分辨率、文件大小、持续时间、比特率等。通过访问这些元数据,我们可以更有效地管理媒体并分析元数据以获得一些有用的信息。在本文中,我们将了解Python提供的一些用于访问音频和视频文件元数据的库或模块。访问音频元数据一些用于访问音频文件元数据的库是-使用诱变

如何在Java中使用Gson重命名JSON的属性?如何在Java中使用Gson重命名JSON的属性?Aug 27, 2023 pm 02:01 PM

Gson@SerializedName注释可以序列化为JSON,并将提供的名称值作为其字段名称。此注释可以覆盖任何FieldNamingPolicy,包括可能已在Gson实例上设置的默认字段命名策略。可以使用GsonBuilder类设置不同的命名策略。语法@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedName示例importcom.google.gson.annotations.*;

解决Tomcat部署war包后无法访问的问题的方法解决Tomcat部署war包后无法访问的问题的方法Jan 13, 2024 pm 12:07 PM

如何解决Tomcat部署war包后无法成功访问的困扰,需要具体代码示例Tomcat作为一个广泛使用的JavaWeb服务器,允许开发人员将自己开发的Web应用打包为war文件进行部署。然而,有时候我们可能会遇到部署war包后无法成功访问的问题,这可能是由于配置不正确或其他原因引起的。在本文中,我们将提供一些解决这个困扰的具体代码示例。一、检查Tomcat服务

Win11磁盘属性未知怎么办Win11磁盘属性未知怎么办Jul 03, 2023 pm 04:17 PM

  Win11磁盘属性未知怎么办?近期Win11用户在电脑的使用中,发现系统出现提示磁盘错误的情况,这是怎么回事儿呢?而且应该如何解决呢?很多小伙伴不知道怎么详细操作,小编下面整理了Win11磁盘出错的解决步骤,如果你感兴趣的话,跟着小编一起往下看看吧!  Win11磁盘出错的解决步骤  1、首先,按键盘上的Win+E组合键,或点击任务栏上的文件资源管理器;  2、文件资源管理器的右侧边栏,找到边右键点击本地磁盘(C:),在打开的菜单项中,选择属性;  3、本地磁盘(C:)属性窗口,切换到工具选

win7修改文件提示更改权限拒绝访问如何解决win7修改文件提示更改权限拒绝访问如何解决Jul 04, 2023 pm 07:01 PM

  win7修改文件提示更改权限拒绝访问如何解决?一些系统文件在进行修改的时候,常常会提示我们没有权限去进行操作。我们可以去进行文件夹权限的功能关闭,或者获取管理员权限。需要修改此类文件的用户,一起来看看接下来具体的教程分享吧。win7修改文件提示更改权限拒绝访问解决办法  1、首先选中对应文件夹,点击上方工具,选中文件夹选项。  2、进入查看选项卡。  3、取消勾选使用简单文件共享然后确定。  4、然后右键选择对应文件夹,点击属性。  5、进入安全选项卡。  6、选择图示位置,点击高级。  7

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!