[PHP]
	class C_test
	{
		public function __contruct()
		{
			
		}
		
		protected function Cfct_test($val)
		{
			if (!isset($this->value))
			{
				$this->value=$val;
				echo "test class1 ";
			}
			else
				throw new Exception ("info erreur value class 1 ".$this->value);
			return true;
		}
     	public function __destruct () 
		{
        
		}
		
	}

	class C_test2 extends C_test
	{
		public function __contruct()
		{
			
		}
		
		public function Cfct_test($val)
		{
			if (!isset($this->value))
			{
				$this->value=$val;
			}
			else
				throw new Exception ("info erreur value class 2 ".$this->value);
		}
		public function Cfct_test2($val)
		{
			if(parent::Cfct_test($val))
			{
				echo "test class2 ";
			}
			else
				throw new Exception ("info erreur value class 2 ".$this->value);
		}
     	public function __destruct () 
		{
        
		}
		
	}

	try
	{
		$a = new C_test2;
		$a->Cfct_test2(1);
		$a->Cfct_test2(2);
	}
	catch (Exception $e)
	{
		echo $e -> getMessage (), ' => ', $e -> getLine ();
	}