php 中 public private protected的区别
public 子类,外部都可调用。
protected 子类可以调用,外部不可以调用。
private 子类不可以调用,外部不可以调用。
<?php
class AA {
public function a() {
echo 'aaa';
}
protected function b() {
echo 'bbb';
}
private function c() {
echo 'ccc';
}
}
$objAA = new AA();
$objAA->a();
$objAA->b(); // 报错
$objAA->c(); // 报错
<?php
class AA {
public function a() {
echo 'aa1';
}
protected function b() {
echo 'bb1';
}
private function c() {
echo 'cc1';
}
}
class BB extends AA{
public function a() {
echo 'aa2';
}
public function b() {
echo 'bb2';
}
public function c() {
echo 'cc2';
}
}
$objBB = new BB();
$objBB->a(); // 正常
$objBB->b(); // 正常
$objBB->c(); // 正常
public 可以重写所有的父类方法。
<?php
class AA {
public function a() {
echo 'aa1';
}
protected function b() {
echo 'bb1';
}
private function c() {
echo 'cc1';
}
}
class BB extends AA{
protected function a() { // 报错
echo 'aa2';
}
protected function b() {
echo 'bb2';
}
protected function c() {
echo 'cc2';
}
}
$objBB = new BB();
$objBB->a(); // 报错
$objBB->b(); // 报错
$objBB->c(); // 报错
<?php
class AA {
public function a() {
echo 'aa1';
}
protected function b() {
echo 'bb1';
}
private function c() {
echo 'cc1';
}
}
class BB extends AA{
private function a() { // 报错
echo 'aa2';
}
private function b() { // 报错
echo 'bb2';
}
private function c() {
echo 'cc2';
}
}
$objBB = new BB();
$objBB->a(); // 报错
$objBB->b(); // 报错
$objBB->c(); // 报错
子类覆盖父类方法,不可以缩小父类的设置。
<?php
class AA {
public function a() {
echo 'aa1';
}
protected function b() {
echo 'bb1';
}
private function c() {
echo 'cc1';
}
}
class BB extends AA{
public function d() {
$this->a();
}
public function e() {
$this->b();
}
public function f() {
$this->c(); // 报错
}
}
$objBB = new BB();
$objBB->d();
$objBB->e();
$objBB->f();
私有方法不可调用。
php 中 public private protected的区别的更多相关文章
- php class中public,private,protected的区别,以及实例
一,public,private,protected的区别 public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型 ...
- Java中public,private,protected,和默认的区别
Java中public,private,protected,和默认的区别 1.private修饰词,表示成员是私有的,只有自身可以访问: 2.protected,表示受保护权限,体现在继承,即子类可以 ...
- public,private,protected的区别
一,public,private,protected的区别public:权限是最大的,可以内部调用,实例调用等.protected: 受保护类型,用于本类和继承类调用.private: 私有类型,只有 ...
- PHP中const,static,public,private,protected的区别
原文地址:http://small.aiweimeng.top/index.php/archives/54.html const: 定义常量,一般定义后不可改变static: 静态,类名可以访问pub ...
- PHP中public,private,protected,abstract等关键字用法详解
PHP中常用的关键字 在PHP中包含了很多对函数和类进行限制的关键字,常用的通常有abstract,final,interface,public,protected,private,static等等, ...
- java中public private protected default的区别
1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直 ...
- cmake target_link_libraries() 中<PUBLIC|PRIVATE|INTERFACE> 的区别
如果目标的头文件中包含了依赖的头文件(源文件间接包含),那么这里就是PUBLIC 如果目标仅源文件中包含了依赖的头文件,那么这里就是PRIVATE 如果目标的头文件包含依赖,但源文件未包含,那么这里就 ...
- Java class 中public、protected 、friendly、private的区别
转载自:http://hi.baidu.com/ceoct/item/7e136a2417ba6f896f2cc33c Java class 中public.protected .friendly.p ...
- public/private/protected访问控制权限的区别
//public/private/protected访问控制权限的区别//时间:2016/8/16 //(一)修饰成员: //public: 在类内.类外都能使用 . //protected: 在类内 ...
随机推荐
- 大数据自学6-Hue集成环境操作Hbase
上一章讲过,Hue集成环境是可以直接操作Hbase,但是公司的环境一直报错,虽然也可以透过写代码访问Hbase,但是看到Hue环境中无法访问,还是觉得不爽,因此决定再花些力气找找原因. 找原因要先查L ...
- JavaScript笔记 #08# 用Regex辅助生成文章目录 V2.0
索引 简介 测试用例 代码 简介 * 用Regex辅助生成文章目录 2.0 * 1.提高了功能的通用性(假定的文章格式更加普遍,即按照h2h3h4分级) * 2.改善了代码的可读性(稍微牺牲了一点点性 ...
- shell 中的小技巧
去掉最后一个字符 sed 's/.$//' awk '{sub(/.$/,"")}1' awk '{printf $0"\b \n"}' [root@ ~]# ...
- linux的/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow—关于用户和组的配置文件
1./etc/passwd 存储用户信息 [root@oldboy ~]# head /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bi ...
- Vue小案例 之 商品管理------学习过滤器 使用过滤器处理日期的格式
代码学习过滤器 过滤器介绍:过滤模型数据,在数据显示前做预处理操作: 内置过滤器:在1.x中,Vue提供了内置过滤器,但是在2.x中已经完全废除: 解决办法: (1)使用第三方库来替代1.x中的内置过 ...
- ql常见面试题 受用了
//转至:http://www.cnblogs.com/GT_Andy/archive/2009/12/25/1921911.html 1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名 ...
- shell &&,||,()
做个笔记. 1. linux命令返回值介绍 shell 在执行某个命令时,会有一个返回值,该值保存在shell变量$?中.当$?为0时,表示命令执行成功:当$?为1时,表示命令执行失败. 2. &am ...
- BootstrapTable(附源码)
Bootstrap结合BootstrapTable的使用,分为两种模试显示列表. 引用的css: <link href="@Url.Content("~/Css/bootst ...
- tar 压缩指令基本用法
压缩:tar -cjvf aaa.tar.bz2 www.test.com/ --exclude *.log(-j是用bz2压缩,-exclude是排除.log后缀的文件) c-创建 j-bzip ...
- 动态规划之139 Word Break
题目链接:https://leetcode-cn.com/problems/word-break/ 参考链接:https://blog.csdn.net/c_flybird/article/detai ...