zoukankan      html  css  js  c++  java
  • 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();
    
    
    ?>
    静态方法
  • 相关阅读:
    阿里云部署SSL证书详解
    PHP网站从Apache转移到Nginx后产生404错误的原因和解决办法
    APACHE服务器出现No input file specified.的完美解决方案
    Lnmp修改php.ini配置
    CGI,FASTCGI,PHPFPM的区别
    CLR Via CSharp读书笔记(25):线程基础
    Java Network Programming FAQ.
    SchemaFree MySQL vs NoSQL
    ERROR: JDWP Unable to get JNI 1.2 environment
    Firebug Internals
  • 原文地址:https://www.cnblogs.com/bilibiliganbei/p/5564817.html
Copyright © 2011-2022 走看看