您的位置:

php私有类,php私有属性

本文目录一览:

php类中必须声明public或者是private吗?

不用必须声明的,默认是public

public:权限是最大的,可以内部调用,实例调用等。

protected: 受保护类型,用于本类和继承类调用。

private: 私有类型,只有在本类中使用。

PHP受保护的类和私有类有什么区别?

受保护的继承后可以访问,私有的只能在该类中访问,不会被继承访问\x0d\x0aclass Man{\x0d\x0a protected $name='lee';//受保护\x0d\x0a private $age=123;//私有\x0d\x0a function __construct(){\x0d\x0a echo $this-name;//lee\x0d\x0a echo $this-age;//123\x0d\x0a\x0d\x0a }\x0d\x0a\x0d\x0a}\x0d\x0aclass Girl extends Man{\x0d\x0a function __construct(){\x0d\x0a echo $this-name;//lee\x0d\x0a echo $this-age;//不会出现123,\x0d\x0a\x0d\x0a }\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0anew Man();\x0d\x0a\x0d\x0anew Girl();

PHP中public是什么意思

访问控制(可见性)

对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。

php class中public,private,protected,static

1. public:权限是最大的,可以内部调用,实例调用

2. protected: 受保护类型,用于本类和继承类调用

常用场景在权限设置

有需要用到权限的Class,只要继承Base这个Class即可用到登录验证。执行Login的时候会先运行Base里面的方法

3. private: 私有类型,只有在本类中使用。

4. static: 一般是在传值的时候使用,表示值不会被修改,默认为public,可用::访问

PHP中private和public还有protected的区别

public:声明方法和属性可以被随意访问。

Protected:声明的方法和属性只能被类本身和其继承子类访问。

private:只能被定义属性和方法的类访问。

private 是完全私有的,只有当前类中的成员能访问到.

protected 是受保护的,只有当前类的成员与继承该类的类才能访问.

protected的访问权介于public和private之间,实际上三者的区别就是权限问题,private和protected区别主要体现在其继承类的访问权限上,这些你可以自己编写一个程序,写个类,编译一下你就很清楚他们权限的区别了。

私有成员private member

只能被成员函数和类的友元访问

实行信息隐藏的类把其数据成员声明为private

被保护成员protected member

对派生类derived class 就像public 成员一样

对其他程序则表现得像private

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.常量一定要在声明的时候就给初始值