搜索
首页php教程php手册php函数、类和对象以及类的封装、继承、类的静态方法、静态属性,php静态

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>='');
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器