php public,static,private,protected,final,const,abstract
public:权限是最大的,可以内部调用,实例调用等。
protected: 受保护类型,用于本类和继承类调用。
private: 私有类型,只有在本类中使用。
final:PHP 5:不被改,不被继承( php5新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承 )
const :一旦赋值不能被改变
abstract:抽象类。(php6)
static:
protected $cache = 300; // 缓存时间
const da = '1';
static $dg = '2';
private $dd = '3';
public $df = '4';
public function info(){
echo $this->cache;
echo self::da;
echo self::$dg;
echo $this->dd;
echo $this->df;
}
public function使用:公共方法。使用的时候需要实例化new
<?php
$a = new Article()
eho $a->t()
?>
public static function使用:公共静态方法,无需实例化直接调用
<?php
class e6 {
//静态属性
static public $n = 1;
//静态方法
static public function test() {
echo 'hello';
}
}
//访问静态元素
echo e6::$n; //输出 1
echo e6::test(); // 输出 hello
//修改静态属性
e6::$n = 88;
echo e6::$n; //输出88
?>
// thinkphp5代码
indexBase.php
index.php
<?php
namespace app\index\controller;
use app\index\controller\IndexBase; //class index extends IndexBase{
class index{
public function index(){
echo IndexBase::$n; //输出 1
echo IndexBase::test(); // 输出 hello echo "</br>"; //修改静态属性
IndexBase::$n = 88;
echo IndexBase::$n; //输出88
} }
总结:static不用导入,就可以全局通用;静态属性可以被改变
static使用
class IndexBase{
static $s = 9;
}
class index{
public function index(){
echo IndexBase::$s; // 输出9
IndexBase::$s = 89;
echo IndexBase::$s; // 输出89
}
}
protected static:受保护的静态属性
1212
php public,static,private,protected,final,const,abstract的更多相关文章
- 【Java】abstract,final,static,private,protected,public的区别
[abstract]抽象的 1. abstract可以修饰类和成员方法,被abstract修饰的类称为抽象类,被abstract修饰成员方法叫抽象方法.抽象类不一定有抽象方法,但拥有抽象方法的类一定是 ...
- php class中public,private,protected的区别,以及实例
一,public,private,protected的区别 public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型 ...
- static private 与 final 的用法总结
1.static表示静态.他是属于类的.可以在本身类里直接调用,或在其它类里用类名.方法名调用.不加static表示是实例的方法,必须用实例来调用.在本类里也一样,必须用实例调用 2.private是 ...
- public static void speckOnWin7(string text),在win7中读文字
public static void speckOnWin7(string text) { //洪丰写的,转载请注明 try { string lsSource = ""; ...
- final方法,abstract方法和abstract类,native方法
final方法 1.为了确保某个函数的行为在继承过程中保持不变,并且不能被覆盖(override),可以使用final方法. 2.为了效率上的考虑,将方法声明为final,让编译器对此方法的调用进行优 ...
- C++中的public、private、protected成员继承问题
我是C++菜鸟,刚学了一点C++. 先看例子1: /* Item.h */ #include <iostream> #include <string> class It ...
- [译]C# 7系列,Part 5: private protected 访问修饰符
原文:https://blogs.msdn.microsoft.com/mazhou/2017/10/05/c-7-series-part-5-private-protected/ C#有几个可访问性 ...
- 为什么main方法是public static void?
Main方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么main方法是public.static.void的.当然,很多人首先学的是C和C++,但是在Java中main方法与前者 ...
- 为什么 main 方法是 public static void ?
Main方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么main方法是public.static.void的.当然,很多人首先学的是C和C++,但是在Java中main方法与前者 ...
随机推荐
- .NET ramework 4.0安装失败
1.停止Window 升级服务: 2.Windows 目录下的 SoftwareDistribution 重命名: 3.安装 .Net Framework 下面是百度上的方法,比较复杂 解决方法:1) ...
- Gridview排序与分页-不使用“DataSourceControl DataSource”的情况下如何分页和排序 ...
如果你在GridView控件上设置 AllowPaging="true" or AllowSorting="true" 而没有使用使用数据源控件 DataSou ...
- [培训]keysight培训
DDR DDR->DDR2->DDR3->DDR4->DDR5->HBM, LPDDR(low power DDR)
- CAS (14) —— CAS 更多用户信息
CAS (14) -- CAS 更多用户信息 摘要 将更多用户信息写入到service验证返回消息中 版本 tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas ...
- Javascript全栈技术架构
https://worktile.com/tech/basic/the-worktile-tech-stack https://worktile.com/tech/basic/worktile-rea ...
- 如何防止Arp攻击
首先需要查找网关的IP和MAC地址. 查看的方法很多,最直接的在cmd里面执行arp -a.但这是被arp攻击之前,被攻击成功后,192.168.0.1对应的mac地址会变成攻击电脑的Mac地址. 还 ...
- openvpn push "route
①在openvpn的配置文件里增加push "route 192.168.4.0 255.255.255.0",目的是为客户端加一条路由,这样客户端才有可能访问到办公网络中出VPN ...
- 百度地图Api进阶教程-弹出信息窗口5.html
<!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...
- kinect2的标定
我用的是ubuntu14.04LTS,ROS 版本是indigo,kinect v2,我是用双系统装的ubuntu,关于怎么使用安装kinect2的安装以及使用的都在github上有着详细的说明 Ki ...
- R语言 data.frame 大全
A data frame is used for storing data tables. It is a list of vectors of equal length. For example, ...