PHP中的访问修饰符简单比较

PHP public访问修饰符

示例:

<?php
header("content-type:text/html;charset=utf-8");
// BaseClass
class pub {
 public $tag_line = "我们!";
 function display() {
  echo $this->tag_line."<br/>";
 }
} 

// 子类
class child extends pub {
 function show(){
  echo $this->tag_line;
 }
} 

// 对象声明
$obj= new child; 

// 输出
echo $obj->tag_line."<br/>"; 

$obj->display(); 

$obj->show();
?>

输出:

我们!

我们!

我们!

private访问修饰符

private修饰符可在其定义的类及其父类或继承类中使用。如果一个类成员声明为protected,则只能在类本身内以及继承和父类中访问它。

示例:

<?php
header("content-type:text/html;charset=utf-8");
// 基类
class pro {
 protected $x = 500;
 protected $y = 500; 

 // 实现减法
 function sub()
 {
  echo $sum=$this->x-$this->y . "<br/>";
 }
} 

// 子类-继承类
class child extends pro {
 function mul() //实现乘法
 {
  echo $sub=$this->x*$this->y;
 }
} 

$obj= new child;
$obj->sub();
$obj->mul();
?>

输出:

0

250000

protected访问修饰符

protected修饰符可在定义它的类中使用,注:它不能在类外部访问意味着继承类。

如果类成员声明为private,则它只能由定义该成员的类访问。

示例:

<?php
header("content-type:text/html;charset=utf-8");
// 基类
class demo {
 private $name="我们!"; 

 private function show()
 {
  echo "这是基类的私有方法";
 }
} 

// 子类
class child extends demo {
 function display()
 {
  echo $this->name;
 }
} 

// 对象声明
$obj= new child; 

// 出现异常---未捕获错误:调用私有方法demo::show()
//$obj->show(); 

//出现异常--未定义的属性:子级::$name
$obj->display();
?>

输出

从上例可以看出,它将显示错误,因为无法在类外访问私有类数据。

(0)

相关推荐

  • php中访问修饰符的知识点总结

    为什么需要访问权限? 防止覆盖变量名称和函数名称 我们下来看一下public的使用,public是可以从任何地方访问的最广泛的访问限定符. 假设A先生开发overlapFuncBase,B先生继承overlapFuncBase创建了overlapFunc的例子. <?php class overlapFuncBase { public $s = 1; } class overlapFunc extends overlapFuncBase { public $s = 2; } $obj_overl

  • 浅谈php中的访问修饰符private、protected、public的作用范围

    1. private 只能在类内部使用 2. protected 可以在类内部和继承类里使用.类外部不能使用[即实例化后的对象无法调用] 3. public 全部范围适用. 4.子类复写父类中的方法时,子类中的 访问修饰符的范围要大于等于 父类的[ 继承只能发扬光大,至少保持不变.不可以丢失东西.] 以上这篇浅谈php中的访问修饰符private.protected.public的作用范围就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • PHP中的访问修饰符简单比较

    PHP public访问修饰符 示例: <?php header("content-type:text/html;charset=utf-8"); // BaseClass class pub { public $tag_line = "我们!"; function display() { echo $this->tag_line."<br/>"; } } // 子类 class child extends pub { f

  • Java中的访问修饰符详细解析

    1.类的修饰符分为:可访问控制符和非访问控制符两种. 可访问控制符是:公共类修饰符 public 非访问控制符有:抽象类修饰符 abstract :最终类修饰符 final 1 )公共类修饰符 public : Java 语言中类的可访问控制符只有一个: public 即公共的.每个 Java 程序的主类都必须是 public 类作为公共工具供其它类和程序使用的应定义为 public 类. 2 )抽象类修饰符 abstract :凡是用 abstract 修饰符修饰的类,被称为抽象类.所谓抽象类

  • 浅谈java中的访问修饰符

    一. public:所有类都可以访问 protected:所有子类和同包下的类都可以访问 缺省:同包类都可以访问 private:类本身才可以访问 注意点:protected修饰类属性时,例如 复制代码 代码如下: package Parent; public class Parent{ protected int i=5; } package Son; public class Son extends Parent{ public static void main(String[] args)

  • 浅析php面向对象public private protected 访问修饰符

    PHP中有三种访问修饰符,分别是:     public(公共的.默认)     protected(受保护的)     private(私有的)public(公共的.默认)在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限.protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问.private(私有的 ) 被定义为private的成员,对于类内部所有成员都可见,没有访问限制.对类外部不允许访问. 图解demo 复制代码 代码如下: cl

  • PHP面向对象——访问修饰符介绍

    PHP中有三种访问修饰符,分别是: public(公共的.默认) protected(受保护的) private(私有的) 它们可以分别用在类的属性和方法上(类的属性和方法统称为类的成员),用来修饰类成员的访问权限. public(公共的.默认) 在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限. /* 以下两个方法声明访问权限效果相同 */ function say(){}; publilc function say(){}; 当类的成员被声明为public的访问修饰

  • 浅谈Java中各种修饰符与访问修饰符的说明

    JAVA中的类只能是public 或者package的.这是符合逻辑的:人们定义类的初衷就是为了让别人用的.倘若是private,别人怎么调用?但是有一个内部类可以被定义为private.严格上说,内部类,算不得上是一种光明正大的类,内部类在某种意义上是类这个王国里的特务和地下工作者.特务和地下工作者为王国起了不少作用,但是几乎从来不敢在公众场合抛投露面.就算要露面,也要在主人(class)的同意下,向导(Interface)的引导下,才敢战战兢兢的走出来.下面是常规的一些类的修饰符和访问修饰符

  • C++中的函数修饰符深入讲解

    前言 C++博大精深,而且不断拥抱新的变化.本文简要总结一下C++中函数的修饰符,其中部分在实际中极少用到. 按修饰符的位置分为函数名前与函数名后两种,以下分别做介绍. 函数名前 1.返回值类型 返回值类型是C++中定义函数的必备部分,这些修饰符包括void,(unsigned) int,bool等内置基本数据类型和自定义类型,也包括修饰返回值const关键字(如const int*),还包括C++11中新增的类型自动推导auto关键字. 2. template template关键字声明函数是

  • java中的各种修饰符作用及范围

    目录 访问修饰符 作用范围 静态修饰符的特点 静态使用的注意事项 静态的优缺点 当成员变量被静态修饰后,和非静态成员变量的区别 访问修饰符 private 缺省 protected public 作用范围 访问修饰符\作用范围 所在类 同一包内其他类 其他包内子类 其他包内非子类 private 可以访问 不可以 不可以 不可以 缺省 可以 可以 不可以 不可以 protected 可以 可以 可以 不可以 public 可以 可以 可以 可以 private 被private修饰的属性和方法,

随机推荐