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

2024-06-21 10:58
文章标签 接口 程序 例子 有趣

本文主要是介绍类与接口的一个有趣程序例子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

先是类的方式。

<?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_擦桌子";}
}
?>


 

这篇关于类与接口的一个有趣程序例子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081035

相关文章

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec