窗体的多态性
本文关键字:多态性 窗体 | 更新日期: 2023-09-27 18:18:28
我正在做一个项目,让自己更熟悉Windows窗体和图形用户界面。
我为机动车辆部创建了这个程序,它在CONSOLE中使用多态性。所以当我输入出租车时,它会调用工业车辆的基类而不是个人车辆。
程序在控制台中运行良好。
但我想知道这是否可以通过图形界面实现。我知道我可以只使用带有车辆类型的按钮,然后打开一个新表单来输入特定类型车辆的数据。但这不是多态性....
这是一种可以用多态性完成的项目吗?GUI还是没有?
我认为如果只创建一个处理基类的表单,您将获得更多的回报。但它会根据派生类的需要打开/关闭或使项可见。GUI不必是多态的,它只需要处理数据的多态。HTH
你必须更具体地说明你想要达到的目标。如果愿意,多态性可以应用于大多数问题。它是否是一个好的技术取决于您如何使用它。您似乎在早期就形成了关于对象层次结构如何工作的想法,而我建议您不要从开始,而是指定应用程序应该做什么以及应该如何做,并围绕此设计对象模型。结果可能是,您关于如何表示(给定示例)出租车的想法实际上是没有用的。
在任何面向对象的应用程序中,无论选择使用什么用户界面,都可以从多态性中获益。在您的场景中,在列表视图中仅使用对基类的引用,然后打开适合对象特定类型的适当详细信息视图可能是有意义的。
另外,我推荐WPF是因为它的价值。现在学习Windows窗体是没有用的,除非你有很好的理由。
也许你正在寻找的是一种根据你正在传递的(多态)对象的类型动态构建GUI的方法?这可以通过反射来实现,询问传递给Form的对象具有哪些属性或属性,并为每个属性自动生成输入字段、文本框等。
关于一些例子,阅读这篇文章:
动态选项对话框(使用反射)