php 面向对象之继承多态和静态方法

Posted 哔哩哔哩干杯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 面向对象之继承多态和静态方法相关的知识,希望对你有一定的参考价值。

<?php

//继承;子类可以继承父类的一切
//特点:单继承

//父类
class Ren
{
    public $name;
    public $sex;
    public $yuyan;
    
    function Say()
    {
        echo $this->name."正在讲话!";
    }
}

//美国人的子类
class America extends Ren
{
    public $ziben;
    
    //子类对父类的方法重写
    function Say()
    {
        parent::Say(); //调用父类的Say()方法
        echo "hello !";
    }
}
//中国人的子类
class China extends Ren
{
    public $shehui;
    public $wumai;    
    
    //对父类方法重写
    function Say()
    {
        echo "你好!";
    }
}



/*$c = new China();
$c->Say();*/


//var_dump($a);

//多态
//条件:1.必须要继承。2.子类要对父类的方法进行重写。3.父类引用指向子类实例
//概念:当父类的引用指向子类实例的时候,由于子类对父类的方法进行了重写,父类引用在调用相应的方法的时候表现出来的不同。
/*
Ren r = new China();
r->Say();

r = new Amreica();
r->Say();*/

$r = new America();
$r->Say();

$r = new China(); 
$r->Say();




?>
继承和多态
<?php

/*class FenBi
{
    public $length; //属于对象的
    public static $color=\'red\'; //属于类的,静态
    
    //返回数据库的连接对象
    public static function LianJie()
    {
        FenBi::$color;
        return "连接对象";
    }
    public function Test()
    {
        echo FenBi::$color;
    }
}*/

/*FenBi::$color;
FenBi::LianJie();*/
/*
$r = new FenBi();
$r->Test();*/

//普通成员是属于对象的
//静态成员是属于类的

//普通成员方法里面可以调用静态成员
//静态方法里面不能调用普通成员


class Form
{
    public static $bs=0;
    
    public function show()
    {
        echo "显示窗体";
    }
    
    public function Close()
    {
        Form::$bs=1;
        echo "窗体关闭";
    }
    
    public function shownext()
    {
        $f2 = new Form();
        return $f2;
    }
    
    public function JianCe()
    {
        if(Form::$bs==0)
        {
            echo "F2没有关闭";
        }
        else
        {
            echo "F2已经关闭";
        }
    }
}


$f1 = new Form();
$f1->show();

echo Form::$bs;

$f2 = $f1->shownext();
$f2->show();
$f2->Close();

echo Form::$bs;

$f1->JianCe();


?>
静态方法

 

以上是关于php 面向对象之继承多态和静态方法的主要内容,如果未能解决你的问题,请参考以下文章

Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理)

Python之路-面向对象&继承和多态&类属性和实例属性&类方法和静态方法

PHP面向对象详解:继承封装与多态

php面向对象 封装继承多态 接口重载抽象类最终类总结

Java面向对象三大特征之继承和多态

4CPP 面向对象之 ——多态多继承static 成员const 成员