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

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

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3