php class
一个类可以包含有属于自己的常量,变量(称为“属性”)以及函数(称为“方法”)。
$ 变量--专业术语上称它为“属性”。
function 函数--专业术语中称它为“方法”。
如果直接使用 var 声明属性,而没有用 public,protected 或 private 之一,PHP 5 会将其视为 public。
1.类定义
<?php
class my_Class
{
// 声明属性
public $var = 'a default value';//公共 //声明方法
public function displayVar() {
echo $this->var;//方法在类定义内部被调用时,可用的伪变量 $this; //$this 是一个到主叫对象的引用(通常是该方法所从属的对象,但如果是从第二个对象静态调用时也可能是另一个对象)
}
}
?>
用 new 关键字,创建一个类的实例
2.创建一个实例
<?php
$instance = new SimpleClass();//对象引用
// 也可以这样做:
$className = 'Foo';
$instance = new $className(); // Foo()
?>
1. ::(双冒号): 静态属性 self::$property
该运算符是调用一个类中的静态成员的方法
class my_class{
protected static $instance;
self::$instance="jh2k";
或 $this::$instance = "jh2k";
}
2. ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性。
该操作符是操作一个类中的成员变量的方法,可以是非static成员变量
class my_class{
private $test;
$this->test="jh2k";
}
class my_class{
var $username = "jh2k"; //公共变量
function show_username()
{
echo $this->username; //$this :访问一个公共的变量,或者类里面的函数;用来说明username是公共的。可以访问的,函数外部的东西
}
function Welcome()
{
echo "欢迎";
$this->show_username(); //$this:调用 show_username 这个函数,用 $this 来表示这个函数在类中并且和 Welcome 函数平行,而不是在其他地方(比如Welcome函数中)
}
}
$Name = new my_class();
$Name->show_username(); //jh2k
$Name->username = "jh2k15";
$Name->show_username(); //jh2k15
$Name->Welcome(); //欢迎jh2k15
随机推荐
- Atitit 软件国际化原理与概论
Atitit 软件国际化原理与概论 语言和文化习俗因地域不同而差别很大.对某一特定的地域的 语言环境称为"locale".它不仅包括语言和货币单位,而且还包括 数字标示格式, 日期 ...
- UI篇(初识君面)
我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...
- android MVP设计模式!
实现原理: MainActivity 用来更新UI,和显示业务逻辑的结果! LoginPresenterCompl 用来处理 业务逻辑 ILoginPresenter 业务处理类抽象出来的接口 ILo ...
- MyBatis中jdbcType和javaType的映射关系
JDBC Type Java Type CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIM ...
- freeswitch嵌入python脚本
操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 python版本:2.7.9 开启python模块 安装python lib库 apt-get install pyt ...
- Java 异常处理
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用System.out ...
- [笔记]过期的UBUNTU怎么更新软件包
使用old-releases仓库替换main/security仓库,就像下面这样. sudo sed -i -r 's/([a-z]{2}\.)?archive.ubuntu.com/old-rele ...
- 从一道面试题来认识java类加载时机与过程
说明:本文的内容是看了<深入理解Java虚拟机:JVM高级特性与最佳实践>后为加印象和理解,便记录了重要的内容. 1 开门见山 以前曾经看到过一个java的面试题,当时觉得此题很简单,可 ...
- NRF24L01 无线模块的使用
NRF24L01 是一款工作在2.4-2.5GHz通用ISM频段的单片收发芯片 工作电压:1.9-3.6V低电压工作 高速率:2Mbps,由于空中传输时间很短,极大的降低了无线传输中的碰撞现象 多频点 ...
- SCNU 2015ACM新生赛初赛【1006. 3D打印】解题报告
题目链接详见SCNU 2015新生网络赛 1006. 3D打印 .出题思路来自codevs 3288. 积木大赛,属于模拟题. 首先我们把“选择从第L部分到第R部分”理 ...