<menu id="uuzns"><dd id="uuzns"></dd></menu>
  1. <big id="uuzns"></big>
    <mark id="uuzns"></mark>
      <meter id="uuzns"></meter>
    1. <td id="uuzns"><menuitem id="uuzns"><mark id="uuzns"></mark></menuitem></td>
      1. 辉煌电商SEO内测

        百度关键词优化三天上首页!同行都是朋友, ?#38431;?#19968;起互利共赢。谢绝一切非正规行业服务,?#34892;?#20197;下同行、团队、?#25945;?#21644;代理的支持:

        百度站长?#25945;āIP开发小组、SEO焦大老友、SEO每天一贴ZAC大哥、卢松松大哥、海瑶SEO兄弟、附子SEO兄弟、探索者SEO、帮站SEO好友、互点宝、超快排?#25945;?

        百亿互刷宝、下拉天下、SEO自学网、SEO研究?#34892;摹?#23567;明SEO、王德春SEO、马海祥博客、踏雪无痕?#19968;?#24037;作室、SEO云优化好友、云客网、杭州思亿欧、网赚吧、北京SEO韩非老弟

        需要了解以上同仁的相关信息,我们已经给你做好了搜索框,看右上角绿色那个,输入搜索即刻直达

        网站统计: 共有读稿:14437部 / 今日更新:篇 / 评论:19条 / 会员:75 名 / 阅读:1086085
        您好,请 【登陆】/【注册】
        软件内容页横幅广告
        您现在的位置:SEO?#25945;?/a> > PHP网站建设 >

        举例讲解PHP面对对象编程的多态

        2018.04.20

        浏览:

        【导语】如果您觉得本篇内容还不错,请点击文章下面的赞,然后分享给朋友哦!...

        举例讲解PHP面对对象编程的多态-破洛洛教学网...请看详情...

        seo

        seo

        举例讲解PHP面对对象编程的多态
        什?#35789;?#22810;态?

        多态性,其来自于dictionary.com的定义是"以不同?#38382;劍?#38454;?#20301;?#32773;类型出现在?#25042;?#30340;组织?#35874;?#32773;同种组织中,而不存在根本区别。"由该定义,我们可以认为,多态性是一种通过多种状态或阶段来描述相同对象的编程方式。其实,它的真正意义在于:?#23548;?#24320;发中,我们只需要关注一个接口或基类的编程,而不必担心一个对象所属于的具体类(class)。
        如果你熟悉设计模式,?#35789;?#21482;是有个初步了解,那么你?#19981;?#20102;解这个概念。事实上,PHP5多态性可能是基于模式设计编程中的最伟大的工具。它允许我们以一种逻辑的方式来组织相类似的对象从而实现在具体编码时不必担心对象的具体类型;而且,我们只需要对一个所期望的接口或基类编程即可。一个应用程序越抽象,则它就显得越灵活--而多态性是对行为加以抽象的最好的方式之一。
        例如,让我们考虑一个叫Person的类。我们可以用称为David,Charles和Alejandro的类来子类化Person。Person有一个抽象方法AcceptFeedback(),所有的子类都要实现这个方法。这意味着,任?#38382;?#29992;基类Person的子类的代码都能调用方法AcceptFeedback()。你不必检查该对象是一个David还是一个Alejandro,仅知道它是一个Person就够了。结果是,你的代码只需关注"最小公分母"-Person类即可。
        在这个示例中的Person类也可以被创建为一个接口。当然,与上面相比存在一些区别,主要在于:一个接口并没有给出任何行为,而仅确定了一组规则。一个Person接口要求的是"你必须支持AddFeedback()方法",而一个Person类可以提供一些AddFeedback()方法的缺省代码-你对之的理解可以是"如果你不选择支持AddFeedback(),那么你应该提供一种缺省实现。"至于如何选择接口或基类则并非本文的主题;但是,一般?#36947;矗?#20320;需要通过基类?#35789;?#29616;一个缺省的方法。如果你能够简单地勾勒出你的类所要实现的一组期望的功能,那么你也可以使用一个接口。

        通俗理解
        多态最直接的定义就是让具有继承关系的不同类对象,可以对相同名称的成员函数调用,产生不同的?#20174;?#32467;果

        多态的代码

           

        <?php 
           
          /** 
           * 声明接口Demo 
           * @author wzy 
           * 
           */ 
          interface Demo 
          { 
           
            const NAME = "wangzhengyi"; 
           
            const AGE = 25; 
           
            function fun1 (); // 声明方法默认是public abstract 
            function fun2 (); 
          } 
           
          class One implements Demo 
          { 
           
            public function fun1 () 
            { 
              echo Demo::NAME . "?#25237;?#20110;中国传媒大学"; 
            } 
           
            public function fun2 () 
            { 
              echo Demo::NAME . "的年龄是" . Demo::AGE; 
            } 
          } 
           
          class Two implements Demo 
          { 
           
            public function fun1 () 
            { 
              echo Demo::NAME . "在北京灵创众和科技有限公司实习中"; 
            } 
           
            public function fun2 () 
            { 
              echo Demo::NAME . "去年的年龄是24"; 
            } 
          } 
           
          // 同一个接口,实现同一个方法,不同的对象,?#20174;?#32467;果不同。这就是多态的表现和应用 
           
          $one = new One(); 
          $one->fun1(); // wangzhengyi?#25237;?#20110;中国传媒大学 
          $one->fun2(); // wangzhengyi的年龄是25 
           
          echo "<br>"; 
           
          $two = new Two(); 
          $two->fun1(); // wangzhengyi在北京灵创众和科技有限公司实习中 
          $two->fun2(); // wangzhengyi去年的年龄是24 
        

         

        1
        赞一个
        关键词:
        ☆?#19981;?#36825;篇文章吗?分享给你的好友吧!点击这里复制网址☆
        共有112人阅读,期待你的评论!评论
        请先登陆后才能发表评论哦!没账号?赶紧注册一个吧!
        最新评论
        ?#35753;?#26631;签
        回到顶部
        时时彩官方开奖

          <menu id="uuzns"><dd id="uuzns"></dd></menu>
        1. <big id="uuzns"></big>
          <mark id="uuzns"></mark>
            <meter id="uuzns"></meter>
          1. <td id="uuzns"><menuitem id="uuzns"><mark id="uuzns"></mark></menuitem></td>
              1. <menu id="uuzns"><dd id="uuzns"></dd></menu>
              2. <big id="uuzns"></big>
                <mark id="uuzns"></mark>
                  <meter id="uuzns"></meter>
                1. <td id="uuzns"><menuitem id="uuzns"><mark id="uuzns"></mark></menuitem></td>
                  1. 双色球六合彩122期 乒乓球胶皮的价格选择 陕西快乐十分前三组出号几率 3d开机号和试机号查询 皇冠足球指数网全讯网 天津十一选五前三走势 双色球模拟摇奖器彩吧 四川金7乐电视 湖北11选5复试怎么算 四川快乐12今开奖结果查询 辽宁11选5开奖现场 北京pk10一天开奖时间 京东商城的京东彩票入口在哪 极速快3怎样骗人的 甘肃快三游戏开奖号码