PHP中::、->、self、$this操作符
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-10 13:54:14 浏览: 评论:0
在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->.
另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this.
$this实例代码如下:
- <?php
- // this是指向当前对象的指针
- class test_this{
- private $content; //定义变量
- function __construct($content){ //定义构造函数
- $this->content= $content;
- }
- function __destruct(){}//定义析构函数
- function printContent(){//定义打印函数
- echo $this->content.'<br />';
- }
- }
- $test=new test_this('北京欢迎你!'); //实例化对象
- $test->printContent();//北京欢迎你!
::使用方法实例代码如下:
- //parent是指向父类的指针
- class test_parent{ //基类
- public $name; //定义姓名 父类成员需要定义为public,才能够在继承类中直接使用 this来调用.
- function __construct($name){
- $this->name=$name;
- }
- }
- class test_son extends test_parent{ //派生类 继承test_parent
- public $gender;//定义性别
- public $age; //定义年龄
- function __construct($gender,$age){ //继承类的构造函数
- parent::__construct('nostop');//使用parent调用父类的构造函数,来进行对父类的实例化
- $this->gender=$gender;
- $this->age=$age;
- }
- function __destruct(){}
- function print_info(){
- echo $this->name.'是个'.$this->gender.',今年'.$this->age.'岁'.'<br />';
- }
- }
- $nostop=new test_son('女性','22');//实例化test_son对象
- $nostop->print_info();//执行输出函数 nostop是个女性,今年23岁
使用self::$name的形式.注意的是const属性的申明格式,const PI=3.14,而不是const $PI=3.14
实例代码如下:
- class clss_a {
- private static $name="static class_a";
- const PI=3.14;
- public $value;
- public static function getName()
- {
- return self::$name;
- }
- //这种写法有误,静态方法不能访问非静态属性
- public static function getName2()
- {
- return self::$value;
- }
- public function getPI()
- {
- return self::PI;
- }
- }
还要注意的一点是如果类的方法是static的,他所访问的属性也必须是static的.
在类的内部方法访问未声明为const及static的属性时,使用$this->value ='class_a';的形式.
Tags: const static $this->value = class_a ;
相关文章
- ·php Notice : Use of undefined constant解决办法(2013-11-30)
- ·php const常量修饰符使用方法(2014-02-20)
- ·php类和对象之protected与const属性(2014-03-06)
- ·PHP单例模式学习笔记(2014-03-15)
- ·PHP使用动态Constant与Define值(2014-07-10)
- ·php提示Notice: Use of undefined constant错误(2014-09-21)
- ·PHP类 const常量访问方法例子(2015-04-08)
- ·深入分析PHP const与define使用区别(2015-04-08)
- ·php中static const define变量的区别(2015-04-08)
- ·深入分析php中const和define定义常量的区别(2015-04-09)
- ·PHP5.6 CONST新特性几个例子(2016-08-18)
- ·PDO::_construct讲解(2021-11-06)
- ·PHP常量define和const的区别详解(2021-11-22)
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·点击浏览器的后退按钮后,所有字段的信息都被清空了?(2013-11-12)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)