public、protect、private在父类子类中使用
先贴出一张,直观的、估计大家都见过的关于public、protect、private的范围图
|
作用域
|
当前类
|
同一package
|
子孙类 |
其他package
|
|
public
|
T
|
T
|
T
|
T
|
|
protect
|
T
|
T
|
T
|
F
|
|
private
|
T
|
F
|
F
|
F
|
T : true F : false
<?php
class test {
private $variable = 1;
public function setVal($param) {
$this->variable = $param;
}
public function getVal() {
return $this->variable;
}
private function output() {
echo 1;
}
}
class test2 extends test {
public function __construct(){
$this->variable =2;
}
}
$obj = new test2();
print_r($obj);
echo '<br />';
echo $obj->variable;
//$obj->output();
echo '<br />';
echo $obj->getVal();
echo '<br />';
$obj->setVal(3);
echo $obj->getVal();
echo '<br />';
print_r($obj);
}
?>
输出:
test2 Object ( [variable:test:private] => 1 [variable] => 2 )
2
1
3
test2 Object ( [variable:test:private] => 3 [variable] => 2 )
<?php
class test {
private $variable = 1;
public function setVal($param) {
$this->variable = $param;
}
public function getVal() {
return $this->variable;
}
private function output() {
echo 1;
}
}
class test2 extends test {
public function __construct(){
//$this->variable =2;
private $variable = 2;
}
}
$obj = new test2();
print_r($obj);
echo '<br />';
echo $obj->variable;
//$obj->output();
echo '<br />';
echo $obj->getVal();
echo '<br />';
$obj->setVal(3);
echo $obj->getVal();
echo '<br />';
print_r($obj);
?>
<?php
class test {
private $variable = 1;
public function setVal($param) {
$this->variable = $param;
}
public function getVal() {
return $this->variable;
}
private function output() {
echo 1;
}
}
class test2 extends test {
public function __construct(){
$this->variable =2;
}
}
$obj = new test2();
print_r($obj); $obj->setVal(3);
echo $obj->getVal();
echo '<br />';
print_r($obj);
}
?>
上班零时整理,结果还华丽丽的被领导看到了,尴尬死我了,格式没太顾得上,哎、、、、
public、protect、private在父类子类中使用的更多相关文章
- public protect private. 草稿。
public protect private. 草稿. #include <iostream> #include <thread> #include <memory> ...
- C++中public/protect/private三种访问权限控制
一.成员访问权限控制 1.public (1)public成员变量可以被成员函数访问 [访问性] (2)public成员可以被实体对象访问 [访问性] (3)public成员可以成为子类成员 [ ...
- public,protect,private访问权限
第一:private, public, protected 访问标号的访问范围. private:只能由1.该类中的函数.2.其友元函数访问.不能被任何其他访问,该类的对象也不能访问. protect ...
- [C++]访问控制与继承(public,protect,private) 有时间再整理!!!
http://www.cnblogs.com/chio/archive/2007/06/11/779408.html http://www.cnblogs.com/SelaSelah/archive/ ...
- C++中的Public 、Private、Protected 区别
第一: private,public,protected的访问范围: private: 只能由该类的成员函数.友元的成员函数访问,不能被其他类的成员函数访问,即使是该类的对象也不能直接访问 publi ...
- Java中public、private、protect对数据成员或成员函数的访问限制
Java类中对数据成员.成员函数的访问限制修饰有:public.protect.private.friendly(包访问限制) public修饰的数据成员或成员函数是对所有用户开放的,所有用户可以直接 ...
- java中public与private还有protect的区别
java中public与private还有protect的区别 总是忘记.
- Ruby中类的进阶(继承,private, public, protect)
类中的public,protect,private public method class Point def test end end 这样定义的test方法就是一个public方法可以在类内外使用 ...
- swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明
关于 swift 中的open ,public ,fileprivate,private, internal的区别 以下按照修饰关键字的访问约束范围 从约束的限定范围大到小的排序进行说明 open,p ...
随机推荐
- Android IOS WebRTC 音视频开发总结(六一)-- 大数据解密国内实时通讯行业开发现状
本文主要介绍国内实时通讯行业现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 这几年移动互联网发展势头很猛,与 ...
- javaSE第二天
第二天 7 1:关键字(掌握) 7 2:标识符(掌握) 7 (1)就是给类,接口,方法,变量等起名字的字符序列 7 (2)组成规则: 7 (3)注意事项: 8 (4 ...
- CentOS6.5 python 2.6升级到2.7
在CentOS6.5下,将自带的python2.6.6升级到python2.7.3,解决方法如下: 下载python2.7.3包,并解压缩,输入命令:#wget http://python.org/f ...
- 学生信息管理系统应用ios源码iPad版
学生信息管理系统应用iPad版,该应用源码比较完整的,而且也很详细,这也是一款学校用的学生和老师管理系统,里面涉及到了很多ipad常用的控件,操作和数据存储. <ignore_js_op> ...
- 关于fork函数中的内存复制和共享
原来刚刚开始做linux下面的多进程编程的时候,对于下面这段代码感到很奇怪, #include<unistd.h> #include<stdio.h> #include< ...
- Linux Direct 文件读写(文件DIO)
有时候,读写文件并不想要使用系统缓存(page cache),此时 direct 文件读写就派上了用场,使用方法: (1)打开文件时,添加O_DIRECT参数: 需要定义_GNU_SOURCE,否则找 ...
- Widnows批处理异地备份数据
@echo off@title Mysql+fileBckupset files=D:\backup\%date:~0,10%.rarset userdb="root"set pw ...
- js-布尔值
1.任何JavaScript的值都可以转换为布尔值 下面这些将会转换为false(假值): undefined null 0 -0 NaN "" //空字符串 所有其他值,包括所有 ...
- 学习c编程的第三天
#include<stdio.h> int add(int,int); int main(){ int x=add(1,2); printf("%d",x); retu ...
- php中iconv函数使用方法
最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些. iconv函数库能够完成各种字符集 ...