How to use class static methods and inheritance in PHP

2 Answers

0 votes
class Dog {
    public static function whatYouSay() {
         echo '(Dog) Woof! Woof!';
    }

    public static function speak() {
         self::whatYouSay();
    }
}

class Labrador_Retriever extends Dog {
    public static function whatYouSay() {
         echo '(Labrador_Retriever) Woof! Woof! Woof! Woof!';
    }
}

Dog::speak(); 
echo "<br />";
Labrador_Retriever::speak();
 
/*
run: 
  
(Dog) Woof! Woof!
(Dog) Woof! Woof!
  
*/  

 



answered Sep 7, 2017 by avibootz
0 votes
class Dog {
    public static function whatYouSay() {
         echo '(Dog) Woof! Woof!';
    }

    public static function speak() {
         static::whatYouSay();
    }
}

class Labrador_Retriever extends Dog {
    public static function whatYouSay() {
         echo '(Labrador_Retriever) Woof! Woof! Woof! Woof!';
    }
}

Dog::speak(); 
echo "<br />";
Labrador_Retriever::speak();
 
/*
run: 
  
(Dog) Woof! Woof!
(Labrador_Retriever) Woof! Woof! Woof! Woof!
  
*/  

 



answered Sep 7, 2017 by avibootz

Related questions

2 answers 310 views
310 views asked Nov 4, 2015 by avibootz
1 answer 188 views
1 answer 153 views
153 views asked Oct 29, 2015 by avibootz
1 answer 196 views
1 answer 187 views
187 views asked Nov 4, 2015 by avibootz
3 answers 329 views
329 views asked Nov 3, 2015 by avibootz
...