private、protected、public

 
private     
protected       
public
本类内     
Y Y Y
子类内     
N Y Y
外部       
N N N
<?php
class MyClass{    public $public = ‘Public‘;    protected $protected = ‘Protected‘;    private $private = ‘Private‘;

function printHello()    {        echo $this->public;        echo $this->protected;        echo $this->private;    }}$obj = new MyClass();echo $obj->public; // 这行能被正常执行echo $obj->protected; // 这行会产生一个致命错误echo $obj->private; // 这行也会产生一个致命错误$obj->printHello(); // 输出 Public、Protected 和 Private

class MyClass2 extends MyClass{    // 可以对 public 和 protected 进行重定义,但 private 而不能//    protected $protected = ‘Protected2‘;

function printHello()    {        echo $this->public;        echo $this->protected;        echo $this->private;    }}

$obj2 = new MyClass2();echo $obj2->public; // 这行能被正常执行echo $obj2->private; // 未定义 privateecho $obj2->protected; // 这行会产生一个致命错误$obj2->printHello(); // 输出 Public、Protected 和 Undefined
?>
时间: 2024-10-20 05:34:41

private、protected、public的相关文章

php的public、protected、private三种访问控制模式的区别

public: 公有类型 在子类中可以通过self::var调用public方法或属性,parent::method调用父类方法 在实例中可以能过$obj->var 来调用 public类型的方法或属性 protected: 受保护类型        在子类中可以通过self::var调用protected方法或属性,parent::method调用父类方法 在实例中不能通过$obj->var 来调用  protected类型的方法或属性 private: 私有类型 该类型的属性或方法只能在该

public、private、protected、internal、protected internal访问范围

在C#语言中,共有五种访问修饰符:public.private.protected.internal.protected internal. public 公有访问.不受任何限制.private 私有访问.只限于本类成员访问,子类,实例都不能访问.protected 保护访问.只限于本类和子类访问,实例不能访问.internal 内部访问.只限于本项目内访问,其他不能访问.protected internal 内部保护访问.只限于本项目或是子类访问,其他不能访问

Java/C++之 public、protected、private ; virtual &amp; abstract

一.绪 Java/C++都是面向对象的第三代计算机高级编程语言,其本质雷同,而语法确有差异,稍不注意容易引起混淆.本文总结了一些这两门语言的差异之处,仅供参考. 二.C++ 对于C++这门语言,就其类来说成员访问类型就有  public.protected.private; 而就其继承方式来说 也分为共有继承.保护继承.私有继承.此外C++中有虚函数.纯虚函数之分,还有覆盖.隐藏之别.相对比较复杂. 就其多态性而言:当基类指针指向派生类时,此时基类指针只能访问基类中已有的成员,而不能访问派生类中

再学Java 之 private、protected、public和default的作用域

前言:如果提到protected的访问控制级别,您的第一反应是"只能是子类才可以访问",那么您很可能需要往下看. 首先,大致介绍一下各个访问控制符的访问控制级别(具体的介绍很多大牛的博文都有介绍,我就不细说了,可以点击这里查看),如下图:   private default protected public 同一个类中 √ √ √ √ 同一个包中   √ √ √ 子类中     √ √ 全局范围内       √ 在这里,很多人都存在一个误区,就是,认为protected修饰的方法只能

C#中public、private、protected、internal、protected internal (转载)

在C#语言中,共有五种访问修饰符:public.private.protected.internal.protected internal.作用范围如下表:访问修饰符 说明public 公有访问.不受任何限制.private 私有访问.只限于本类成员访问,子类,实例都不能访问.protected 保护访问.只限于本类和子类访问,实例不能访问.internal 内部访问.只限于本项目内访问,其他不能访问.protected internal 内部保护访问.只限于本项目或是子类访问,其他不能访问C#

php的public、protected、private三种访问控制模式的区别 self,parent

php的public.protected.private三种访问控制模式的区别 public: 公有类型 在子类中可以通过self::var调用public方法或属性,parent::method调用父类方法 在实例中可以能过$obj->var 来调用 public类型的方法或属性 protected: 受保护类型        在子类中可以通过self::var调用protected方法或属性,parent::method调用父类方法 在实例中不能通过$obj->var 来调用  prote

private、 protected、 public、 internal 修饰符的访问权限

3. 简述 private. protected. public. internal 修饰符的访问权限.private : 私有成员, 在类的内部才可以访问.protected : 保护成员,该类内部和继承类中可以访问.public : 公共成员,完全公开,没有访问限制.internal: 在同一命名空间内可以访问.4. 写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键,  注意:ID可能不是连续的.)select top 10 * from A

关于public、private、protected、internal

1.private修饰符 private修饰符用于设置类或类成员的访问权限仅为所属类的内部, private也被称为私有修饰符.某些时候需要访问私有类成员时,可通过get和set访问器读取或修改. 2.protected修饰符 protected修饰符用于设置类或类成员的访问权限仅为所属类及子类的内部. 3.internal修饰符 internal修饰符修饰的类或类成员的访问权限为同一程序集内部,C#默认的类访问修饰符即为internal. 4.public修饰符 public修饰符则为公共访问

浅析C++:private、protected和public

一:private.protected和public的访问权限问题: private:1.类中的成员函数可以调用,2.类的友元函数可以调用,3.但是类对象无法直接调用.4.对于派生类,不管是成员函数还是派生类的对象都无法进行调用. protected:1.类中的成员函数不可以调用,2.类的友元函数可以调用,3.类对象也无法进行调用.4.对于派生类,成员函数可以进行调用,但是派生类的对象则无法进行调用. public:1.可以被类中的成员函数调用,2.类的友元函数可以调用,3.类对象也可以直接调用

Object-c中@private、@protected、@public解析

Objective-C中,类的实例化变量的范围有@private.@protected.@public.他们代表的意思和C++中相同,只是前面添加了一个@符号.下面介绍一下他们代表的范围: 指令 意思 @private 作用范围只能在自身类 @protected 作用范围在自身类和继承自己的子类,什么都不写,默认是此属性. @public 作用范围最大,在任何地方 下面是官方的图: 具体的可以参考:http://developer.apple.com/library/mac/#documenta