news 2026/6/9 5:11:53

跟我一起学“仓颉”设计模式-组合模式练习题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
跟我一起学“仓颉”设计模式-组合模式练习题

一、练习题

1. 使用组合模式模拟杀毒软件,可以对文件夹下的子文件和子文件夹进行杀毒。

类图

核心代码

package DesignPattern.composite import std.collection.* // 抽象构件类 public abstract class File { public func kill(): Unit } // 容器构件类 public class Folder <: File { private let files: ArrayList<File> = ArrayList<File>() public Folder(private let name: String) {} public override func kill() { println("正在查杀 ${this.name} 文件夹下的病毒") for (file in files) { file.kill() } } public func add(file: File) { this.files.add(file) } public func getChild(index: Int64): File { return this.files[index] } } // 叶子构件类 public class TextFile <: File{ public TextFile(private let name: String) {} public override func kill() { println("查杀 ${this.name} 文件的病毒中") } } public class ImageFile <: File{ public ImageFile(private let name: String) {} public override func kill() { println("查杀 ${this.name} 文件的病毒中") } }

测试代码

package DesignPattern import DesignPattern.composite.* main(): Int64 { let folder = Folder("学习资料") folder.add(TextFile("仓颉编程语言.docx")) folder.add(ImageFile("仓颉设计模式.pdf")) folder.add(TextFile("ArkTS从入门到出口.docx")) let folder2 = Folder("不可告人的秘密") folder2.add(TextFile("仓颉中不可告人的秘密.docx")) folder2.add(ImageFile("你绝对想象不到的鸿蒙真面目.pdf")) folder.add(folder2) folder.kill() return 0 }

二、小结

本章为大家详细的介绍了仓颉设计模式中组合模式练习题的内容,下一章,为大家带来装饰模式的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 5:09:57

AI殖民协议:领地权、资源税与主权退出的多智能体自治设计

1. 项目概述&#xff1a;这不是一个技术产品&#xff0c;而是一次对AI协作本质的重新校准“Why Colony of AI?”——这个标题本身就是一个反问句&#xff0c;不是在问“怎么搭建一个AI集群”&#xff0c;也不是在问“用什么框架训练多智能体”&#xff0c;它直指一个被多数人忽…

作者头像 李华
网站建设 2026/6/9 5:05:05

RK3588多屏显示怎么玩?手把手教你配置VOP图层与HDMI/DP/MIPI多路输出

RK3588多屏显示实战&#xff1a;VOP图层分配与多接口输出配置指南当你在RK3588开发板上看到主屏播放4K视频、副屏实时显示传感器数据、控制面板同步操作界面时&#xff0c;这种多屏协同的魔力背后&#xff0c;是Rockchip精心设计的VOP&#xff08;Video Output Processor&#…

作者头像 李华
网站建设 2026/6/9 4:57:59

Windows终极优化工具WinUtil:一键解决软件安装与系统优化难题

Windows终极优化工具WinUtil&#xff1a;一键解决软件安装与系统优化难题 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil 还在为Windows系统的…

作者头像 李华