Java中的抽象类

时间:2015-03-09 15:54:32

标签: java class graph nodes abstract

所以,我有一个面向对象的任务。其中很小一部分是制作一个由节点组成的图形,它可以是类型类型或类型产品。

该类别只有一个名称([a-zA-Z0-9] +)作为参数。

该产品有一个名称([a-zA-Z0-9] +)和一个id(> = 0)。

一开始只创建了一个节点,在product中有两个对象类别,其中两个都为null,并且根据输入我创建了两个事物之一的实例,一切都很好。

我真的想了一下,在我检查了讲座后,我发现了抽象类的东西:D。我的想法是使节点摘要和产品和类别扩展节点,因为:

类别具有Name和toString的setter和getter 产品具有名称和ID(当然)和toString的setter和getter。

Name的Setter,getter和toString是相同的。 Product的构造函数有所不同,因为它也设置了ID。

所以, 它会以这种方式工作吗,它更好吗? 我可以创建一个节点,然后输入后说 - >此节点来自类型

3 个答案:

答案 0 :(得分:0)

如果它是抽象的,你不能只创建一个节点。

你应该得到输入,并且可能是想要创建的类型,并为那个创建适当的非抽象类。

或者,您可以将它们创建为类别,如果用户键入Id,则创建新产品并将数据从第一个对象复制到第二个对象。但这没有多大意义。

答案 1 :(得分:0)

似乎类别应该只是产品的一部分。那就是你有一个类别类,以及一个有两个属性的产品类:category class和id。这样,您可以在图表上的任何点创建一个类别,然后如果它是一个产品,则将其传递给第二个构造函数以给它一个id。

答案 2 :(得分:0)

我认为这应该是一个抽象方法,验证每个节点类型可以独立实现。

Node建议这是您正在导航的状态图。也许你想要一种方法来进入或离开该状态。每种类型都可以将任何需要的东西放入其中。接口和策略模式将在这里提供帮助。

将图表与已完成的内容分开。