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

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

相关文章

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

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

java对接第三方接口的三种实现方式

《java对接第三方接口的三种实现方式》:本文主要介绍java对接第三方接口的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录HttpURLConnection调用方法CloseableHttpClient调用RestTemplate调用总结在日常工作

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别