PHP 学习 第二天

<?php
echo "对象:<br>";
$ball->color ="green";
$ball->weight =100; 
echo $ball->color . "/" . $ball->weight;

echo "类:<br>";

class human
{
	//构造函数 必须是__construct
	function __construct($name="zhu")
	{
		$this->name =$name;		
	}
}

$myhuman = new human('xiaobei');
echo "$myhuman->name" ."<br>";
$myhuman = new human();
$myhuman->age = 100;
printf("human:%s, age:%s<br>",$myhuman->name,$myhuman->age);

/*===========================================================*/
class Fruit {  
     const CONST_VALUE = 'Fruit Color';  
}      
 class Apple extends Fruit  
 {  
     public static $color = 'Red';      
     public static function doubleColon() {  
         echo parent::CONST_VALUE . "\n";  
         echo self::$color . "\n";  
     }  
}      
Apple::doubleColon();  

/*==============================================================*/
echo "<br />";

class MyClass{    
	public $public = 'Public';    
	protected $protected = 'Protected';    
	private $private = 'Private';    
	function printHello()    
	{    
		echo $this->public;    
		echo $this->protected;    
		echo $this->private;    
	}    
}    
$obj = new MyClass();    
echo $obj->public; // Works    
echo $obj->protected; // Fatal Error    
echo $obj->private; // Fatal Error                //私有和受保护的属性都不能直接引用    
$obj->printHello(); // Shows Public, Protected and Private    
/** 
* Define MyClass2 
*/   
class MyClass2 extends MyClass{    
	// We can redeclare the public and protected method, but not private    
	protected $protected = 'Protected2';    
	function printHello()    
	{    
	echo $this->public;    
	echo $this->protected;    
	echo $this->private;    
	}    
}    
$obj2 = new MyClass2();    
echo $obj->public; // Works    
echo $obj2->private; // Undefined                  //私有属性可以重新定义,但MyClass2里面没有定义    
echo $obj2->protected; // Fatal Error                 //受保护的属性不能重新定义    
$obj2->printHello(); // Shows Public, Protected2, not Private    

?>

posted @ 2010-11-16 15:43  杯具的小北  阅读(136)  评论(0编辑  收藏  举报