キーワード:this/self/parent
4517 ワード
キーワード:this/self/parent
posted on
2016-05-06 18:23 McGregorVon読書(
...) コメント(
...) コレクションの編集
転載先:https://www.cnblogs.com/mcgregorvon/p/5466661.html
(OOP,Object Oriented Programming) 。 OOP PHP , PHP web 。
PHP5 , OOP , , PHP4 。 this,self,parent 。 , 、 、 。 ,this ( C ),self ,parent 。 , 。 , 。
。
class name // name
{
private $name; // ,
// ,
function __construct( $name )
{
$this->name = $name; // this ①
}
//
function __destruct(){}
//
function printname()
{
print( $this->name ); // this ②, echo
}
}
$obj1 = new name( "PBPHome" ); // ③
//
$obj1->printname(); // : PBPHome
echo "
"; // :
//
$obj2 = new name( "PHP" );
//
$obj2->printname(); // :PHP
?>
: ① ② this , this ? this , ( ③), this $obj1 , ② print( $this->name ), "PBPHome"。 ,print( $this->name ) print( $obj2->name ), "PHP"。 ,this , 。
{ }。PHP this,self,parent self
self
,self , self , self 。 ( static) , self 。 self :: ( ), 。
class counter // counter
{
// , $firstCount, 0 ①
private static $firstCount = 0;
private $lastCount;
//
function __construct()
{
$this->lastCount = ++self::$firstCount; // self ②
}
// lastCount
function printLastCount()
{
print( $this->lastCount );
}
}
//
$obj = new Counter();
$obj->printLastCount(); // , 1
?>
① ②。 ① $firstCount, ② self , $frestCount。 , , , this , self , 。 this $obj, 。
self , 。 。
{ }PHP this,self,parent parent
parent 。
, ,parent , parent 。 :
// Animal
class Animal
{
public $name; // , $name
// ,
public function __construct( $name )
{
$this->name = $name;
}
}
// Person Animal
class Person extends Animal
{
public $personSex; // , $personSex 、$personAge
public $personAge;
//
function __construct( $personSex, $personAge )
{
parent::__construct( "PBPHome" ); // parent ①
$this->personSex = $personSex;
$this->personAge = $personAge;
}
// , , : is name,age is
function printPerson()
{
print( $this->name. " is " .$this->personSex. ",age is " .$this->personAge );
}
}
// Person
$personObject = new Person( "male", "21");
//
$personObject->printPerson(); // :PBPHome is male,age is 21
?>
this , 。 : public( , ) , , this 。 ①: parent::__construct( "heiyeluren" ), parent , , name PBPHome。 , $personObject1, name PBPHome。
:this , ;self , ;parent , parent 。
posted on
2016-05-06 18:23 McGregorVon読書(
...) コメント(
...) コレクションの編集
転載先:https://www.cnblogs.com/mcgregorvon/p/5466661.html