面向对象之关键词(const, static)
2013-01-03 00:35
309 查看
Const关键词
是面向对象当中类里面常量定义的方式。
以Const 大写字母==值
类当中的常量一旦定义与php当中的常量一样,一旦定义不能呗修改。
注意:
1.不要使用$this->常量名去调用
2.也不是直接用常量名去调用
3.在类的内部调用方式(两种)
方式1.类名::常量名
方式2 self::常量名
4.在类的外部调用,不需要实例化对象,直接使用类名::常量名调用
例:
Static关键词:
1.静态成员方法和成员属性效率特别高,如果结果准许尽可能写成静态成员方法或者成员属性。
2.声明静态变量 以static关键词开始,后面加上变量。
3.静态变量不要用$this->静态成员属性名去调用
4.在类的内部调用静态成员两种方法,
第一种:使用类名::静态成员属性名;来调用静态成员属性
第二种:使用self::静态成员属性名
5.使用类名::静态成员属性名前面要加$符,如果要改值,直接在后面使用=赋值运算符进行赋值。
6.在类的外部访问不需要实例化,直接类名::静态成员属性去调用
7.声明静态的成员方法,只需要在方法名前加上static关键词即可
8.在类的外部调用静态成员方法 有两种;
(1)类名::静态方法名
(2)对象->静态方法名
9.在静态的成员方法禁止使用$this关键词调用成员属性跟成员方法,在静态的成员方法禁止有$this关键词。
10.在非静态成员方法内部使用$this->静态成员方法()去调用静态成员方法。
11.在非静态成员方法内部在类的内部使用类名::静态成员方法名()去调用静态成员方法。
12.在非静态成员方法内部self::静态成员方法名()去调用静态成员方法。
13.在静态方法内部不能使用$this->成员属性或成员方法,但是可以使用局部变量或者型参,静态成员属性,常量等等。
14.private protected,public和static关键词在一起使用的时候是累加效果。
例:
本文出自 “Sanr” 博客,请务必保留此出处http://0x007.blog.51cto.com/6330498/1106505
是面向对象当中类里面常量定义的方式。
以Const 大写字母==值
类当中的常量一旦定义与php当中的常量一样,一旦定义不能呗修改。
注意:
1.不要使用$this->常量名去调用
2.也不是直接用常量名去调用
3.在类的内部调用方式(两种)
方式1.类名::常量名
方式2 self::常量名
4.在类的外部调用,不需要实例化对象,直接使用类名::常量名调用
例:
<?php class ren{ public $name; //建议常量大写 为了更好的区分 变量跟常量 const TYPE='地球人'; function say(){ //类的内部调用常量 echo '我是'.self::TYPE.'<br>'; } } //实例化对象 $p= new ren(); $p->say(); //类的外部调用常量 echo ren::TYPE; ?>
Static关键词:
1.静态成员方法和成员属性效率特别高,如果结果准许尽可能写成静态成员方法或者成员属性。
2.声明静态变量 以static关键词开始,后面加上变量。
3.静态变量不要用$this->静态成员属性名去调用
4.在类的内部调用静态成员两种方法,
第一种:使用类名::静态成员属性名;来调用静态成员属性
第二种:使用self::静态成员属性名
5.使用类名::静态成员属性名前面要加$符,如果要改值,直接在后面使用=赋值运算符进行赋值。
6.在类的外部访问不需要实例化,直接类名::静态成员属性去调用
7.声明静态的成员方法,只需要在方法名前加上static关键词即可
8.在类的外部调用静态成员方法 有两种;
(1)类名::静态方法名
(2)对象->静态方法名
9.在静态的成员方法禁止使用$this关键词调用成员属性跟成员方法,在静态的成员方法禁止有$this关键词。
10.在非静态成员方法内部使用$this->静态成员方法()去调用静态成员方法。
11.在非静态成员方法内部在类的内部使用类名::静态成员方法名()去调用静态成员方法。
12.在非静态成员方法内部self::静态成员方法名()去调用静态成员方法。
13.在静态方法内部不能使用$this->成员属性或成员方法,但是可以使用局部变量或者型参,静态成员属性,常量等等。
14.private protected,public和static关键词在一起使用的时候是累加效果。
例:
<?php class st { static $num =10; function hi(){ /*使用类名调用 echo st::$num.'<br/>';*/ #使用self调用 #echo self::$num; //直接赋值 // self::$num=50; // echo self::$num; } } $demo = new st; $demo -> hi(); //在类的外部调用 echo st::$num; ?>
本文出自 “Sanr” 博客,请务必保留此出处http://0x007.blog.51cto.com/6330498/1106505
相关文章推荐
- PHP5 面向对象程序设计之:this, self, parent, static和const
- php面向对象全攻略 (十) final static const关键字的使用
- php面向对象全攻略 (十) final static const关键字的使用
- PHP 面向对象中常见关键字使用(final、static、const和instanceof)
- PHP面向对象之旅:static变量与方法
- java面向对象_static关键字
- 面向对象之继承时的关键词
- 黑马程序员--03.Java面向对象--02.【static关键字】【main方法】【静态成员】
- 16-面向对象(static关键字-什么时候用) 面向对象-Static难点 18-面向对象(构造代码块).(静态代码块)
- C语言易混淆关键词详解-const, static, extern, typedef, 声明
- 1、Java面向对象笔记(匿名对象)(static 静态修饰符)(单例设计模式)
- 面向对象之static的理解
- 面向对象程序设计-C++ Operator Overloading & Type conversion (Static)【第十一次上课笔记】
- 面向对象程序设计-C++ Type conversion (Static) & Inheritance & Composition【第十二次上课笔记】
- 07-Java面向对象构造方法,static关键字,main方法,说明书,math随机数
- c#面向对象中static 关键字
- Java面向对象及关键词(上)
- C语言易混淆关键词详解-const, static, extern, typedef, 声明
- C语言易混淆关键词详解-const, static, extern, typedef, 声明