当前位置: 首页 > news >正文

网站模块有哪些仿360电影网站源码

网站模块有哪些,仿360电影网站源码,怎么开网店无货源店铺,茂名建站公司模板【设计模式专题之工厂方法模式】2.积木工厂   题目描述 小明家有两个工厂,一个用于生产圆形积木,一个用于生产方形积木,请你帮他设计一个积木工厂系统,记录积木生产的信息。   输入描述 输入的第一行是一个整数 N(1 …

【设计模式专题之工厂方法模式】2.积木工厂

题目描述
小明家有两个工厂,一个用于生产圆形积木,一个用于生产方形积木,请你帮他设计一个积木工厂系统,记录积木生产的信息。

输入描述
输入的第一行是一个整数 N(1 ≤ N ≤ 100),表示生产的次数。
接下来的 N 行,每行输入一个字符串和一个整数,字符串表示积木的类型。积木类型分为 “Circle” 和 “Square”
两种。整数表示该积木生产的数量

输出描述
对于每个积木,输出一行字符串表示该积木的信息。

输入示例
3
Circle 1
Square 2
Circle 1

输出示例
Circle Block
Square Block
Square Block
Circle Block

提示信息
在示例中,积木工厂生产了4块积木,其中有2块是圆形积木,2块是方形积木。
根据输入的类型,每块积木的信息被输出到控制台。

思路

  1. 先声明接口 Block,不同积木类型,实现该接口
  2. 圆形&方形 积木,实现上述Block接口提供的方法 produce
  3. 实现一个积木生产工厂 BlockFactory,用于生成不同形状的积木对象
  4. main函数中,按要求,批量生产对应积木

注意

  • 字符串常量,统一整理归类放在开头处
  • BlockFactory考虑默认情况 default

Golang版本代码:

package mainimport ("fmt"
)const (StrTypeCircle = "Circle"        // 类型:圆形StrTypeSquare = "Square"        // 类型:方形StrCircleBlock = "Circle Block" // 输出:圆形积木StrSquareBlock = "Square Block" // 输出:方形积木
)// Block 声明接口,不同积木类型,实现该接口
type Block interface {produce() string
}// CircleBlock
type CircleBlock struct {}// produce
func (b CircleBlock) produce() string { // 注意返回stirng类型return StrCircleBlock
}// SquareBlock
type SquareBlock struct{}// produce 实现square接口
func (b SquareBlock) produce() string {return StrSquareBlock
}// BlockFactory 积木生产工厂
func BlockFactory(blockType string) (Block, error) {switch blockType {case StrTypeCircle:return CircleBlock{}, nilcase StrTypeSquare:return SquareBlock{}, nildefault:return nil, fmt.Errorf("input blockType error")}
}func main() {// 输入生产次数n := 0if _, err := fmt.Scanf("%d", &n); err != nil {fmt.Printf("Scanf n: %v, input error\n", n)return}for i := 0; i < n; i++ {// 输入积木类型和数量blockType, quantity := "", 0if _, err := fmt.Scanf("%s %d", &blockType, &quantity); err != nil {fmt.Printf("Scanf blockType: %v, quantity: %v, input error\n", blockType, quantity)return}block, err := BlockFactory(blockType)if err != nil {fmt.Printf("BlockFactory blockType: %v, err: %v\n", blockType, err)return}for j := 0; j < quantity; j++ {fmt.Println(block.produce())}}
}
http://www.15wanjia.com/news/191515.html

相关文章:

  • 网站开发前后端分离要多少钱宁波网站建设公司哪有
  • 哪些网站是python做的html5网站特点
  • php房产中介网站源码申请带域名的免费空间
  • 上海网站建设 数字展厅东莞seo优化推广
  • 南京便宜网站建设成都电子商务网站
  • 大连网站建做网站 图片素材怎么找
  • 太原定制网站开发制作那个网站可以找人做设计
  • 做女装代理需要自建网站么食品公司建设网站目的
  • 四合一小说网站搭建教程平面广告设计软件有哪些
  • 国际域名网站安庆高端网站建设公司
  • 企业网站建设是什么实现的物质基础和技术支撑建立公司需要什么
  • 10大设计师网站远离有害不良网站应该怎么做
  • 网站进行诊断网站开发的数据
  • 佛山住房和城乡建设部网站官网金华市有网站建设最低价
  • 如何做120急救网站网站名称收录
  • 网站开发时遇不到算法关于网页制作
  • 东莞网站设计找哪里百度经验怎么赚钱
  • 安徽省建设厅官方网站铁岭网站开发
  • 西安设计网站的公司网络游戏开发平台
  • 王店镇建设中学网站如何文字推广一个婚恋网站
  • 商城 网站 开发软件开发定制app
  • 我想网站建设做网贷网站多少钱
  • 无人机网站建设精准营销的三大要素
  • 国外设计网站都有哪些专业做化妆品的网站
  • 响应式网站建设开发公司用手机制作动画的软件
  • 建设部网站法律法规接计设做的网站
  • 欧美网站建设排名购物平台推荐
  • 合肥网站设计机构做一个响应式网站价格
  • 做网站头文件唐山专业网站建设公司
  • 网站icp备案号怎么查询专注外贸建站