类与接口的一个有趣程序例子

来源:互联网 发布:sybase数据库厂家 编辑:程序博客网 时间:2024/04/30 08:56

面向对象编程中,类和接口是最基础的两个概念了。下面写一个简单的程序,分别演示使用基类与接口如何编写程序。程序很简单,不用过多解释,直接上代码了。广大程序员兄弟们一定能够明白是什么意思吧。

先是类的方式。

<?php/** * 类模式老婆 * Wife基类 */class Wife {    public function Cook($howToCook, $vegetableArray) {        $this->BuyVegetables ( $vegetableArray );        for($i = 0; $i < count ( $howToCook ); $i ++) {                        //要吃的菜没有?买去            if (in_array ( $howToCook [$i] ["one"], $vegetableArray )) {                $this->BuyVegetables ( array ($howToCook [$i] ["one"] ) );            } else if (in_array ( $howToCook [$i] ["two"], $vegetableArray )) {                $this->BuyVegetables ( array ($howToCook [$i] ["two"] ) );            } else {                "做饭";            }        }    }        /**     * 买菜     * @param array $vegetableArray 菜名数组     */    public function BuyVegetables($vegetableArray) {        "去菜场买菜";    }        /**     * 洗衣服     */    public function WashClothes() {        "1_干洗外套";        "2_洗衣机洗裤子";        "3_手洗袜子";    }        /**     * 做家务     */    public function DoHouseholdDuties() {        "1_扫地";        "2_拖地";        "3_擦桌子";    }}/** * I类 继承Wife类 * @author Samuel */class I extends Wife {        /**     *打游戏      */    function PlayGames() {        "打游戏";    }        /**     * 打篮球     */    function PlayBasketball() {        "打篮球";    }        /**     * 看电视     */    function WatchTV() {        "看电视";    }        /**     * 煮饭     * @see Wife::Cook()     */    function Cook() {        //哥哥今天要吃的菜        $howToCook = array (array ("one" => "猪肉", "two" => "芹菜", "operation" => "炒" ), array ("one" => "土豆", "two" => "牛肉", "operation" => "烧" ) );        $vegetableArray = array ("猪肉", "鸡蛋", "酸奶", "香菇", "芹菜", "土豆", "牛肉" );        parent::Cook ( $howToCook, $vegetableArray );    }        /**     * 洗衣服     * @see Wife::WashClothes()     */    function WashClothes() {        //调用Wife类洗衣服方法        parent::WashClothes ();    }        /**     * 做家务     * @see Wife::DoHouseholdDuties()     */    function DoHouseholdDuties() {        //调用Wife类做家务方法        parent::DoHouseholdDuties ();    }}?>


然后是接口的方式:然后是接口的方式:

<?php/** * 接口模式老婆 * Wife接口 */interface Wife {    /**     * 煮饭     * @param array $howToCook 菜的做法     * @param array $vegetableArray 需买的菜的数组     */    function Cook($howToCook, $vegetableArray) {    }        /**     * 买菜     * @param array $vegetableArray 菜名数组     */    function BuyVegetables($vegetableArray) {    }        /**     * 洗衣服     */    function WashClothes() {    }        /**     * 做家务     */    function DoHouseholdDuties() {    }}/** * I类 实现Wife接口 * @author Samuel */class I implements Wife {        /**     *打游戏      */    function PlayGames() {        "打游戏";    }        /**     * 打篮球     */    function PlayBasketball() {        "打篮球";    }        /**     * 看电视     */    function WatchTV() {        "看电视";    }        /**     * 煮饭     * @param array $howToCook 菜的做法     * @param array $vegetableArray 需买的菜的数组     */    public function Cook($howToCook, $vegetableArray) {        $this->BuyVegetables ( $vegetableArray );        for($i = 0; $i < count ( $howToCook ); $i ++) {                        //要吃的菜没有?买去            if (in_array ( $howToCook [$i] ["one"], $vegetableArray )) {                $this->BuyVegetables ( array ($howToCook [$i] ["one"] ) );            } else if (in_array ( $howToCook [$i] ["two"], $vegetableArray )) {                $this->BuyVegetables ( array ($howToCook [$i] ["two"] ) );            } else {                "做饭";            }        }    }        /**     * 买菜     * @param array $vegetableArray 菜名数组     */    public function BuyVegetables($vegetableArray) {        "去菜场买菜";    }        /**     * 洗衣服     */    public function WashClothes() {        "1_干洗外套";        "2_洗衣机洗裤子";        "3_手洗袜子";    }        /**     * 做家务     */    public function DoHouseholdDuties() {        "1_扫地";        "2_拖地";        "3_擦桌子";    }}?>


 

10 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果手机下载东西网速特别慢怎么办 网上买重庆时时彩输了很多钱怎么办 找不到自己在哪个平台借过钱怎么办 九游账号绑定手机之前绑定的怎么办 九游充过钱的游戏忘了游戏名怎么办 百度网盘密码忘了申诉不了怎么办 手机号被别人注册了百度账号怎么办 快手被盗找回时出来重置密码怎么办 魅族账号密码和密保都忘记了怎么办 vivo账号的密保问题忘了怎么办 oppo账号密保问题忘了怎么办 小米手机刷了机忘了账号密码怎么办 忘了小米账号的密码是多少怎么办 千牛账号在手机上被限制登录怎么办 违规的千牛账号被限制登录了怎么办 苹果id和锁屏密码忘记了怎么办 感应门的编程密码忘记了怎么办 交易猫买的号被找回了怎么办 uc上我的小说看不了怎么办 微信零钱忘记密码没有银行卡怎么办 九游平台冻结提不了现怎么办 计算机考试报名登录名忘记了怎么办 云顶扑克提现怎么提不出来怎么办 微信正在下载一直0kb怎么办 守望先锋运行时出现意外错误怎么办 信用卡暂停使用怎么办还能恢复吗 新刷乳胶漆墙面一碰一个坑怎么办 夏天开空调冻着了头疼打喷嚏怎么办 桑蚕丝衣服被沐浴露退了色怎么办 空间被别人知道了密码登录了怎么办 三星手机显示解析包出现问题怎么办 三星手机下载解析包出现问题怎么办 两万的流动大棚给整坏了怎么办 劲舞团抽奖领了一样的衣服怎么办 win系统ps界面字体太小怎么办 任何网页都变成监控登录界面怎么办 微信启动录音的尝试被拒绝怎么办 微信传到电脑的文件打不开怎么办 转转网账号出租时遇到防沉迷怎么办 如果买了王者号结果有防沉迷怎么办 苹果手机一直显示验证失败怎么办呢