Example #1
0
{
    protected $username = '******';
    protected function fun1()
    {
        echo 'ABC<br/><br/>';
    }
}
class Son extends Father
{
    function fun2()
    {
        echo $this->username, '<br/>';
        $this->fun1();
    }
}
$s = new Son();
$s->fun2();
//////////////////////////////////////////////
class Ftest
{
    private $username = '******';
    private function fun1()
    {
        echo '1234<br/><br/>';
    }
    public function fun2()
    {
        echo $this->username, '<br/>';
        $this->fun1();
    }
}
Example #2
0
    public function run()
    {
        echo 'I run fast';
    }

    private function drive()
    {
        echo 'I drive a car';
    }
}

class Son extends Dad
{
    public function goToSchool()
    {
        echo 'I go to school';
    }

    public function whatIsMyName()
    {
        echo $this->name;
    }
}

$son = new Son('Nick', 'Long');
$son->run(); //will output I run fast
$son->goToSchool(); //will output I go to school
$son->drive(); //produces an error
$son->whatIsMyName(); //will ouput  Nick
<?php

$object = new Son();
$object->test();
$object->test2();
class Dad
{
    function test()
    {
        echo "[Class Dad] I am your Father<br>";
    }
}
class Son extends Dad
{
    function test()
    {
        echo "[Class Son] I am Luke<br>";
    }
    function test2()
    {
        parent::test();
    }
}
<?php

class GrandFather
{
    public function gfAge()
    {
        return ' age is 80';
    }
}
class Father extends GrandFather
{
    public function fAge()
    {
        return ' age is 50';
    }
}
class Son extends Father
{
    public function sAge()
    {
        return 'age is 20';
    }
    public function myHistory()
    {
        echo "my grand father " . parent::gfAge();
        echo "my father " . $this->fAge();
        echo "my " . $this->sAge();
    }
}
$son = new Son();
$son->myHistory();
Example #5
0
<?php

class Father
{
    function hello()
    {
        echo '<br> Hello I\'m your father';
    }
}
class Son extends Father
{
    function hello()
    {
        parent::hello();
        echo '<br> Hi I\'m maulik';
    }
}
$maulik = new Son();
$maulik->hello();
        if (__CLASS__ === $_CLASS) {
            $this->do_pay();
        } else {
            echo 'No permission to do-pay!', PHP_EOL, '<hr>';
        }
        return;
    }
    private function do_check()
    {
        echo 'Checking money,please waiting!', PHP_EOL, '<hr>';
        return;
    }
    private function do_pay()
    {
        echo 'Pay success!', PHP_EOL, '<hr>';
        return;
    }
}
class Son extends Base
{
}
$base = new Base();
$son = new Son();
$base->pay_money();
$son->pay_money();
# [Outputs like this]
# 以上例程输出:@2015/06/23 周二
// Checking money,please waiting!
// Pay success!
// Checking money,please waiting!
// No permission to do-pay!
Example #7
0
header('content-type:text/html;charset=utf-8');
class Father
{
    function fun1()
    {
        //echo __METHOD__ , '<br/><br/>';
        //形式Father::fun1
        echo '我是父类的fun1()方法<br/><br/>';
    }
}
class Son extends Father
{
    function fun1()
    {
        //调用爸爸的fun1()方法
        parent::fun1();
        echo '<span style="color:red">我是子类的fun1()方法</span><br/><br/>';
        echo '还可以<br/><br/>';
        Father::fun1();
    }
    function fun2()
    {
        parent::fun1();
        echo '1111111我是子类的fun2()方法<br/><br/>';
        Father::fun1();
        $this->fun1();
        //调用自身类的fun1()方法
    }
}
$s = new Son();
$s->fun3();
Example #8
0
{
    public $username = '******';
    protected $age = 24;
    private $sex = TRUE;
    protected function fun1()
    {
        //public protected private;
        echo '我是父类的fun()1', '<br /><br />';
    }
}
class Son extends Father
{
    function fun1()
    {
        echo $this->username, '<br /><br />';
        parent::fun1();
        //当父类方法被覆盖后,要想调用父类的方法,可以用parent::方法名或Farther::方法名调用;
        echo '我是子类的fun()1', '<br /><br />';
        Father::fun1();
    }
    private function fun2()
    {
        echo '我是子类fun2()方法';
    }
}
//创建对象
$t = new Son();
//当子类的方法名与父类重复时,会产生覆盖,将父类的方法名覆盖,而调用自己的方法;
//访问类的属性(访问控制符)此外,属性时允许动态添加
$t->username;
$t->fun1();