/**
燕十八 公益PHP培训
课堂地址:YY频道88354001
学习社区:www.zixue.it
**/
燕十八 公益PHP培训
课堂地址:YY频道88354001
学习社区:www.zixue.it
**/
<?php
/***************************************************************************
static
1、在属性,和方法前,加static修饰,这种称为静态属性和静态方法
2、类声明完毕,该属性就已经存在,不需要依赖于对象而访问
3、类在内存中只有一个,因此静态属性也只有一个
访问方式:
类名::属性名;
类名::方法名();
注意事项:
1、静态方法不能使用 $this
2、其实 非静态方法,是不能有类名静态调用的
但是! PHP中的面向对象检测的并不严格
只要该方法没有 $this, 就会转化静态方法来调用
3、但是在PHP5.3的 strict 级别下,或者PHP5.4已经非常严格了
****************************************************************************/
class Human{
static private $name='itao';
static protected $sex='男';
static public $age = 21;
static public function cry(){
echo Human::$name,'<br />';
echo Human::$sex,'<br />';
echo 'cry..........';
}
public function eat(){
echo Human::$age,'<br />'; //检查不严格
echo 'eat............';
}
}
echo Human::$age,'<br />';
Human::cry(); echo'<br />';
$human = new Human();
//Error_reporting(E_ALL|E_STRICT);
$human->eat();
echo '<hr />';
//$humain::cry();
/***************************************************************************
static
1、在属性,和方法前,加static修饰,这种称为静态属性和静态方法
2、类声明完毕,该属性就已经存在,不需要依赖于对象而访问
3、类在内存中只有一个,因此静态属性也只有一个
访问方式:
类名::属性名;
类名::方法名();
注意事项:
1、静态方法不能使用 $this
2、其实 非静态方法,是不能有类名静态调用的
但是! PHP中的面向对象检测的并不严格
只要该方法没有 $this, 就会转化静态方法来调用
3、但是在PHP5.3的 strict 级别下,或者PHP5.4已经非常严格了
****************************************************************************/
class Human{
static private $name='itao';
static protected $sex='男';
static public $age = 21;
static public function cry(){
echo Human::$name,'<br />';
echo Human::$sex,'<br />';
echo 'cry..........';
}
public function eat(){
echo Human::$age,'<br />'; //检查不严格
echo 'eat............';
}
}
echo Human::$age,'<br />';
Human::cry(); echo'<br />';
$human = new Human();
//Error_reporting(E_ALL|E_STRICT);
$human->eat();
echo '<hr />';
//$humain::cry();