登录  /  注册

面向对象PHP(一)

php中文网
发布: 2016-07-29 09:16:20
原创
952人浏览过

<code><span><span><span><?php </span>
/**
*   继承,访问控制,static(静态)关键字、重写、Final关键字、数据访问补充、接口、多态、抽象类
*/</span><span>/**
*   1.静态属性用于保存类的公有数据
*   2.静态方法里面只能访问静态属性
*   3.静态成员不需要实例化对象就可以访问
*   4.类的内部可以通过self或者static关键字访问自身静态变量
*   5.可以通过parent关键字访问父类的静态成员
*   6.可以通过类的名称在类的定义外部访问静态成员
*/</span>
header(<span>"Content-Type: text/html; charset=utf-8"</span>);<span>//去除中文乱码</span>
date_default_timezone_set(<span>"PRC"</span>);<span>//设置中国时区</span><span>/**
    * Human类定义
    */</span><span><span>class</span><span>Human</span>    {</span><span>public</span><span>$name</span>;
        <span>protected</span><span>$height</span>;<span>//本身和子类可访问</span><span>public</span><span>$weight</span>;

        <span>public</span><span>static</span><span>$staticValue</span>=<span>"我是Human类里的static成员。"</span>;

        <span>public</span><span><span>function</span><span>eat</span><span>(<span>$food</span>)</span>{</span><span>echo</span><span>$this</span>-&gt;name.<span>" is eating "</span>.<span>$food</span>.<span>"<br>"</span>;
        }
    }
    <span>/**
    * NbaPlayer类定义
    */</span><span><span>class</span><span>NbaPlayer</span><span>extends</span><span>Human</span>{</span><span>//extends:表示继承,php中extends只能跟一个类的类名(单继承原则)</span><span>//属性</span><span>public</span><span>$team</span>=<span>"PTS"</span>;
        <span>public</span><span>$playerNum</span>=<span>"1221"</span>;
        <span>private</span><span>$age</span>= <span>12</span>;

        <span>//静态属性定义</span><span>public</span><span>static</span><span>$president</span>=<span>"David"</span>;

        <span>//静态方法定义</span><span>public</span><span>static</span><span><span>function</span><span>changePresident</span><span>(<span>$newPresident</span>)</span>{</span><span>static</span>::<span>$president</span>=<span>$newPresident</span>;
            <span>//self::$president=$newPresident;//在类定义中使用静态成员,用static或self::静态成员变量</span><span>//使用parent关键字访问父类的静态成员</span><span>echo</span><span>parent</span>::<span>$staticValue</span>.<span>"<br>"</span>;
        }

        <span>//构造函数</span><span><span>function</span><span>__construct</span><span>(<span>$name</span>,<span>$weight</span>,<span>$team</span>,<span>$playerNum</span>)</span>{</span><span>echo</span><span>"执行构造函数...<br>"</span>;
            <span>$this</span>-&gt;name=<span>$name</span>;<span>//this是php里面的伪变量,自身</span><span>$this</span>-&gt;weight=<span>$weight</span>;
            <span>$this</span>-&gt;team=<span>$team</span>;
            <span>$this</span>-&gt;playerNum=<span>$playerNum</span>;
        }

        <span>//析构函数</span><span><span>function</span><span>__destruct</span><span>()</span>{</span><span>echo</span><span>"执行析构函数...<br>"</span>;;
        }

        <span>//定义方法</span><span>public</span><span><span>function</span><span>run</span><span>()</span>{</span><span>echo</span><span>"Runing...\n"</span>;
        }
        <span>public</span><span><span>function</span><span>jump</span><span>()</span>{</span><span>echo</span><span>"Jumping...\n"</span>;
        }
        <span>public</span><span><span>function</span><span>dribble</span><span>()</span>{</span><span>echo</span><span>"Dribbling...\n"</span>;
        }
        <span>public</span><span><span>function</span><span>shoot</span><span>()</span>{</span><span>echo</span><span>"Shooting...\n"</span>;
        }
        <span>public</span><span><span>function</span><span>dunk</span><span>()</span>{</span><span>echo</span><span>"Dunking...\n"</span>;
        }
        <span>public</span><span><span>function</span><span>pass</span><span>()</span>{</span><span>echo</span><span>"Passing...\n"</span>;
        }

        <span>public</span><span><span>function</span><span>getAge</span><span>()</span>{</span><span>echo</span><span>$this</span>-&gt;name.<span>"今年 "</span>.<span>$this</span>-&gt;age.<span>" 岁了。<br>"</span>;
        }
    }
    <span>//类的实例化</span><span>$pzy</span>=<span>new</span> NbaPlayer(<span>"彭中耀"</span>,<span>"182cm"</span>,<span>"75kg"</span>,<span>"PTS"</span>,<span>"1221"</span>);
    <span>$pts</span>=<span>new</span> NbaPlayer(<span>"彭小耀"</span>,<span>"128cm"</span>,<span>"15kg"</span>,<span>"PTS"</span>,<span>"1221"</span>);
    <span>echo</span><span>$pzy</span>-&gt;name.<span>"\n"</span>;
    <span>echo</span><span>$pzy</span>-&gt;eat(<span>"大西瓜"</span>);
    <span>//echo $pzy-&gt;age;</span><span>$pzy</span>-&gt;getAge();

    <span>// echo $pzy-&gt;name."的联盟总裁是".$pzy-&gt;president;//x不能访问静态成员</span><span>// echo $pts-&gt;name."的联盟总裁是".$pts-&gt;president;</span><span>//类定义外访问静态成员:类名::静态成员变量</span><span>echo</span><span>"前任是"</span>.NbaPlayer::<span>$president</span>.<span>"<br>"</span>;
    NbaPlayer::changePresident(<span>"彭大耀"</span>);
    <span>echo</span><span>"现任是"</span>.NbaPlayer::<span>$president</span>.<span>"<br>"</span>;
<span>?&gt;</span></span></span></code>
登录后复制

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了面向对象PHP(一),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号