There are two ways to refer parent class data from sub class.
a. Using the class name directly.
Ex: ClassName::method_name(args)
b. Using the keyword ‘parent’.
Ex: parent::method_name(args)
When can I call parent class methods?
If you override a static method in sub class, and if you want to call the parent class method explicitly, you can use this syntax.
parent_keyword_demo.php
#!/usr/bin/php
<?php
class ParentClass{
public static function about_me(){
echo "\n\nI am in parent class";
}
}
class ChildClass1 extends ParentClass{
public static function about_me(){
ParentClass::about_me();
echo "\nI am in ChildClass1";
}
}
class ChildClass2 extends ParentClass{
public static function about_me(){
parent::about_me();
echo "\nI am in ChildClass2";
}
}
ParentClass::about_me();
ChildClass1::about_me();
ChildClass2::about_me();
?>
Output
#!/usr/bin/php
<?php
class ParentClass{
public static function about_me(){
echo "\n\nI am in parent class";
}
}
class ChildClass1 extends ParentClass{
public static function about_me(){
ParentClass::about_me();
echo "\nI am in ChildClass1";
}
}
class ChildClass2 extends ParentClass{
public static function about_me(){
parent::about_me();
echo "\nI am in ChildClass2";
}
}
ParentClass::about_me();
ChildClass1::about_me();
ChildClass2::about_me();
?>
No comments:
Post a Comment