首页 > php教程 > php手册 > 正文

php函数、类和对象以及类的封装、继承、类的静态方法、静态属性,php静态

WBOY
发布: 2016-06-13 08:57:45
原创
826 人浏览过

php函数、类和对象以及类的封装、继承、类的静态方法、静态属性,php静态

   <p>1、函数</p>    <p>&#160;&#160;&#160; php内置函数可以直接使用,如果没有安装php扩展即可</p>    <p>&#160;&#160;&#160; 自定义函数</p>         <pre class="code"><span>//</span><span>函数function  函数名 </span>

    <span>function</span> dump(<span>$var</span> = <span>null</span>){    <span>//</span><span>支出默认参数值</span>

        <span>echo</span> ‘<pre/><span>’;

         </span><span>var_dump</span>(<span>$var</span><span>);

    }</span>
登录后复制

2、类(class)和对象( new Obj)

<?<span>php 
</span><span>//</span><span>定义一个人的类,现在还不是对象</span>

 <span>class</span><span> Person
{
 </span><span>//</span><span>私有属性 </span>
登录后复制
<span>    </span><span>private</span> <span>$eye</span> = '大眼睛'<span>;
    </span><span>private</span> <span>$mouth</span> = '小嘴巴'<span>;
    </span><span>private</span> <span>$leg</span> = '大长腿'<span>;
             
    </span><span>//</span><span>构造方法 new 对象的时候自定调用</span>
    <span>public</span> <span>function</span><span> __construct()
    {
        </span><span>echo</span> <span>__CLASS__</span><span>;
    }    
    </span><span>public</span> <span>function</span><span> run()
    {
        </span><span>echo</span>  <span>$this</span>-><span>leg;
    } 
    </span><span>//</span><span>学习 会用到 腿(走路)、眼睛(看书)、嘴(念书)</span>
    <span>public</span> <span>function</span><span> study()
    {
        </span><span>echo</span> <span>$this</span>->leg, <span>$this</span>->eye, <span>$this</span>-><span>mouth;

    }                 


}

</span><span>//</span><span>使用类 new以后就变成了对象</span>

<span>$person</span> = <span>new</span> Person();          <span>//</span><span>输出 Person</span>
<span>$person</span> -> run();                <span>//</span><span>输出  大长腿</span>
<span>$person</span> -> study();             <span>//</span><span>输出  大长腿 大眼睛 小嘴唇</span>
登录后复制

3、类的封装(public, protected, private)和继承(extends)

<span>//</span><span>类的继承  </span>
<span>class</span><span> A
{
    </span><span>public</span> <span>function</span><span> help()
    {
        </span><span>echo</span> <span>__METHOD__</span><span>;
    }
    </span><span>//</span><span>声明一个吃的方法 私有的</span>
    <span>private</span> <span>function</span><span> eat()
    {
        </span><span>echo</span>  <span>__METHOD__</span><span>;
    }

}


</span><span>//</span><span>子类可以继承父类所有的公共方法和属性、受保护的方法和属性,私有方法除外
//如果想使用,重写即可</span>
<span>class</span> B <span>extends</span><span>  A
{
    </span><span>public</span> <span>function</span><span> doSomething()
    {
        </span><span>$this</span> -> help();   <span>//</span><span>继承了父类的方法   前提是声明为public </span>
        <span>echo</span> '<hr/>'<span>;
        </span><span>$this</span> -> eat();    <span>//</span><span>因为吃是私有的,子类不能使用, 这里在子类中写了一个eat方法.</span>
<span>
    }
    </span><span>//</span><span>子类的吃</span>
    <span>public</span> <span>function</span><span> eat()
    {
        </span><span>echo</span> <span>__METHOD__</span><span>;
    }

}
</span><span>$b</span> = <span>new</span><span> B;
</span><span>$b</span>->doSomething();
登录后复制
//输出结果
登录后复制

A::help


B::eat

4、类的静态方法和静态属性

<?<span>php

</span><span>//</span><span>定义一个Url 相关的类</span>
<span>class</span><span> Url
{
    </span><span>public</span> <span>static</span> <span>function</span> createUrl(<span>$arr</span> =<span> [])
    {
        </span><span>echo</span> <span>__METHOD__</span><span>;
    }
    </span><span>public</span> <span>static</span> <span>function</span> redirect(<span>$url</span> = ''<span>)
    {
        </span><span>echo</span> <span>__METHOD__</span><span>;
    }
    </span><span>public</span> <span>static</span> <span>function</span><span> getCurrentUrl()
    {
        </span><span>echo</span> <span>__METHOD__</span><span>;
    }
}
</span><span>//</span><span>把方法声明成静态方法,不需要每次都实例化(new)对象,操作方便,节省内存,效率更高</span>
<span>echo</span>  Url::createUrl(<span>$var</span>=''<span>);
</span><span>echo</span>  Url::redirect(<span>$url</span>=''<span>);
</span><span>echo</span>  Url::getCurrentUrl();
登录后复制

5、类的静态属性

<?<span>php

</span><span>//</span><span>定义一个Url 相关的类</span>
<span>class</span><span> Url
{
    </span><span>//</span><span>声明为类常量</span>
    <span>const</span> URL = 'http://www.baidu.com'; <span>//</span><span>从5.3以后可以直接在类外部使用 const
    //声明为静态变量</span>
     <span>public</span> <span>static</span> <span>$var</span> = 'it is very good'<span>;
    </span><span>public</span> <span>static</span> <span>function</span> createUrl(<span>$arr</span> =<span> [])
    {
        </span><span>echo</span> self::<span>URL;
        </span><span>echo</span> '<br/>'<span>;
        </span><span>echo</span> self::<span>$var</span><span>;
        </span><span>echo</span> '<br/>'<span>;
        </span><span>echo</span> <span>__METHOD__</span><span>;
    }
    </span><span>public</span> <span>static</span> <span>function</span> redirect(<span>$url</span> = ''<span>)
    {
        </span><span>echo</span> <span>__METHOD__</span><span>;
    }
    </span><span>public</span> <span>static</span> <span>function</span><span> getCurrentUrl()
    {
        </span><span>echo</span> <span>__METHOD__</span><span>;
    }
}
</span><span>//</span><span>把方法声明成静态方法,不需要每次都实例化(new)对象,操作方便,节省内存,效率更高</span>
<span>echo</span>  Url::createUrl(<span>$var</span>='');
登录后复制
相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!