HGSETGETPLUS - HGSETGET的扩展
我最喜欢的MATLAB特性之一是面向对象编程(OOP)系统.它非常适合构建复杂的gui,创建与他人共享的组件,以及管理大型项目。MATLAB中OOP系统的一个特别有用的特性是能够创建行为类似的类处理图形对象,使用集/得到接口。要做到这一点,需要编写一个类继承了从“hgsetget,一个内置的MATLAB类。
本周的选择是一个非常有用的扩展到hgsetget类,开始作为MATLAB答案的帖子由安德鲁。通过继承,Andrew想要扩展hgsetget类,为属性值添加一个简单的验证和枚举接口。次郎分享了更多的背景故事:
经过一些对话和Jiro的反馈,最终的结果是一个新的MATLAB类名为“hgsetgetplus”。它允许您轻松地约束类中的属性可以假定的值集,并通知用户这些值是什么。要了解这是如何有用的,请考虑MATLAB中内置的Handle Graphics对象的行为:
您当然可以在自己的类中实现这样的行为。但是,您必须为每个属性编写一个“set”方法,并包含产生错误的繁琐验证代码。Andrew的“hgsetgetplus”类使这很容易。当你编写自己的类时,你只需要继承" hgsetgetplus "类,然后用这个简单干净的接口定义类的属性:
这是当我们操作上面类中的对象时发生的情况:
Andrew提交的文件包括一个示例对象和脚本,您可以运行它们来查看与上面示例类似的行为。
我喜欢这篇文章有几个原因:
- 它提高了你作为MATLAB程序员的工作效率。
- 它通过减少常见且难以找到的错误来源,使您的代码更加可靠。
- 除了显示有用的错误消息外,它还允许用户查看有效属性值的范围,从而在第一时间避免错误消息,并提高他们的自尊心。
- 当我帮助我们的技术支持人员时,有人打电话来要求我们添加这个确切的功能!金宝app
- 这是一个关于如何安排和打包MATLAB实用程序的很好的例子。它包括HTML格式的清晰文档、示例代码,甚至可以运行的单元测试史蒂夫·埃丁的xUnit框架。内容被分组到单独的文件夹中,保持内容的组织性。如果你发现自己在MATLAB中开发工具供他人使用,这是一个很好的例子,说明了如何将所有东西清晰地捆绑在一起。
评论
- 类别:
- 选择
评论
如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。