php怎么理解这些个关键字啊,public;private;protect;final;static;const;我感觉这

如题所述

public: 公有属性或方法
在子类中可以通过self::var 或self::method 来调用 ,可以通过parent::method来调用父类中的方法,但不能调用公有属性.
在实例中可以通过$obj->var或self::method 来调用
protected: 受保护类型
在子类中可以通过self::var 或self::method调用, 可以通过parent::method来调用父类中的方法
在实例中不能通过$obj->var 来调用 protected类型的方法或属性
private: 私有类型
该类型的属性或方法只能在该类中使用,在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法
再来说说final
1.final不能用来修饰成员属性
2.final只能修饰类和方法
作用:被修饰的类不能被子类所继承;被修饰的方法不能被子类的方法覆盖。
然后来说说static
1.static用来修饰成员属性和成员方法,但不能用来修饰类
2.用static修饰的成员属性可以被同一个类的所有对象共享
3.静态的数据是存在 内存中的 数据段中(初始化静态段)
4.静态的数据是在类在第一次加载时,分配到内存中的
5.什么是类被加载?只要在程序中使用到这个类(有这个类名出现)
6.静态的成员属性都要用类名去访问,不用创建对象,不用对象去访问;在类里边可以用self代表本类($this)
7.静态方法,不能访问非静态的成员属性(但是,在非静态方法却能访问静态的成员属性),非静态的成员属性,必须用对象访问,在内部访问非静态成员属性,用$this.
8.如果你确定一个方法中不需使用到非静态的成员属性,则可以将这个方法声明为静态方法,不需实例化对象,就可以访问
最后来说说const
1.它只能用来修饰成员属性
2.在类中声明常量必须使用const
3.访问方式和访问静态成员属性一样(类外使用 类名::成员属性,类里边则使用self::成员属性)
4.常量一定要在声明的时候就给初始值
温馨提示:内容为网友见解,仅供参考
无其他回答

php怎么理解这些个关键字啊,public;private;protect;final;static;const...
public: 公有属性或方法 在子类中可以通过self::var 或self::method 来调用 ,可以通过parent::method来调用父类中的方法,但不能调用公有属性.在实例中可以通过$obj->var或self::method 来调用 protected: 受保护类型 在子类中可以通过self::var 或self::method调用, 可以通过parent::method来调...

php以下哪些选项属于面向对象的关键词
php面向对象中常用的关键字有final、static、const (1)final:1,final不能修饰成员属性 2,final只能修饰类和方法 作用:使用final修饰的类不能被子类继承 使用final修饰的方法不能被子类去覆盖 用来限制类不被继承,方法不能被覆盖就使用final (2、)static:1,使用static可以修饰成员属性和成员方法,...

php DocumentorphpDocumentor关键字及文档标志
在PHP编程中,文档注释是通过特定关键字进行的,如class、function、var、include(及其变体)和define。这些关键字前面的注释被认为是文档注释,用于生成文档或API文档。例如,@abstract标记可用于说明类或函数是抽象的,尽管PHP本身不支持抽象类,但遵循这种标记有助于文档的编写和理解。@access标签用于指示变...

public , private ,static ,dim 四个的详细区别。求详解。。
1、Public和Private一般用于定义全局变量,也可以在类中使用。1-1、区别在于:[Public]前者定义的是公共变量,如果在一个模块当中使用,那么整个应用程序都能使用它所定义的变量,如果在类中使用,那么它就是一个共有属性。[Private]而后者定义的是私有变量,如果在一个模块中使用,那么只有这个模块才能...

php - $GLOBALS,const,define,static
,这个东西类似C语言的#define、PASCAL语言的const,本质上是宏。static定义的静态变量和PASCAL语言的静态变量概念意义,本质是局部变量,但是不在栈里面分配,也就是每次调用这个子程序的时候,变量的值是相同的。普通的局部变量是分配在栈里面的,每次访问子程序都是新分配的内存。const只在类里面使用。

php中抽象类和接口的区别
1、对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。当然接口也可以通过关键字extends继承。2、接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数据的封装。(另JAVA接口中的成员变量都要声明为public static final类型)1234...

php 类中的static有什么作用
只要将声明sum变量中的static关键字去掉,变量sum即变为一个auto 类型的变量,函数即变为一个可重入的函数。当然,有些时候,在函数中是必须要使用static变量的,比如当某函数的返回值为指针类型时,则必须是static的局部变量的地址作为返回值,若为auto类型,则返回为错指针。

<?phpclass db{ private $dbhost; private $dbuser; private $dbpass...
private $dbfix; private $dbid; private $dbsql; \/*构造函数 数据库连接,选择数据库*\/ private function _construt(){ include('.\/ijacp\/system\/db.conf.php'); $this->dbhost = $dbhost; $this->dbuser = $dbuser; $this->dbname = $dbname; $this->dbpass = $dbpass; $this->dbfix = $...

asp类中Private定义私有的好处是什么?
例如: #include <string> class A{ public: ... private: static const int i = 0; } 但是需要注意一下,上面的静态常量变数,除了int型以及列举型可以由一个int常量表达式在类定义中初始化以外,其余都要在实现档案中显式初始化,并且在初始化时,前面必须有const关键字申明。 因...

写给前辈的一封信
protect,private的表,被const指针的各种搭配,在配上static,还背优先级,我觉得,就是应试教育的恶果,我从来都是“记用法,不记规则”的,因为规则这东西,又不是语言的设计者故意刁难你的,肯定自有用途,所以在我的笔记上有“const 引用,能让形参不被copy,提高效率”这句话,不会有“const引用,函数无法修改形参”这...

相似回答