【web 开发基础】PHP 面向对象之访问类中的成员属性和方法(58)
前言
通过对象的引用可以访问类中的成员属性和方法,这里需要使用特殊的运算符号:“->”。具体的语法格式如下:
另外,用户还可以使用一些特殊的访问方法。
1.$this
$this 存在于类的每一个成员方法中,是一个特殊的对象引用方法。成员方法属于哪个对象,$this 引用就代表哪个对象,专门用于完成对象内部成员之间的访问。
2.操作符“::”
操作符“::”可以在没有任何声明实例的情况下访问类中的成员。使用的语法格式如下:
其中,关键字主要包括 parent、self 和类名 3 种。parent 关键字表示可以调用父类中的成员变量、常量和成员方法。self 关键字表示可以调用当前类中的常量和静态成员。类名关键字表示可以调用本类中的常量变量和方法。
下面通过实例介绍类的声明和实例化,具体代码如下:
执行结果如下:
注:类名一般用大驼峰法(即开头首字母大写),变量和方法名用小驼峰(即开头首字母小写,其他的单词首字母大写)
用 class 关键字声明一个类,而这个类的名称是 Student。在大括号内写入类的属性和方法。其中 private $name、private $gender 为类 Student 的自有属性,用 private 关键字声明,也就是说只有在类内部的方法可以访问它们,类外部是不能访问的。
function setName($name)、function Getname()、function setGender($gender)和 function getGender()就是类方法,可以对 private $name、private $gender 这两个属性进行操作。$this 是对类本身的引用。用“->”连接类属性,格式如 $this->name 和 $this->gender。
之后用 new 关键字生成一个对象,格式为 $object = new Classname();,对象名是 $zhangsan。当程序通过 new 生成一个类 Student 的实例,也就是对象 $zhangsan 的时候,对象 $zhangsan 就拥有了类 Student 的所有属性和方法。然后就可以通过“接口”,也就是这个对象的方法(也就是类的方法的副本)来对对象的属性进行操作。
通过接口 setName($name)给实例 $zhangsan 的属性 $name 赋值为"张三",通过 setGender($gender)给实例 $zhangsan 的属性 $gender 赋值为男。同样的道理,通过接口操作了实例 $lisi 的属性。最后通过接口 getName()、getGender()返回不同的两个实例的属性 $name 和 $gender,并且打印输出结果。
版权声明: 本文为 InfoQ 作者【迷彩】的原创文章。
原文链接:【http://xie.infoq.cn/article/c7c50218a3bae07b30fcd3205】。文章转载请联系作者。
评论