Java 当有更常见的操作时,如何设计类?

Java 当有更常见的操作时,如何设计类?,java,inheritance,Java,Inheritance,我有以下几个类,代表网页 App Header TableOperations 标题适用于所有页面。所以我可以写: class App extends Header TableOperations类表示与表相关的操作。所有的网页都有一个表,有共同的操作。现在我该如何设计这3个类 现在App如何使用这两种类方法 我不能用java扩展两个类。 还有其他方法吗?我建议使用组合,而不是使用继承,继承应该用于具有关系的对象。如果继续使用继承策略,可能会构建一个大型类层次结构,其中每个类都扩展另一个类,

我有以下几个类,代表网页

App
Header
TableOperations
标题
适用于所有页面。所以我可以写:

class App extends Header
TableOperations
类表示与表相关的操作。所有的网页都有一个表,有共同的操作。现在我该如何设计这3个类

现在
App
如何使用这两种类方法

我不能用java扩展两个类。
还有其他方法吗?

我建议使用组合,而不是使用继承,继承应该用于具有
关系的对象。如果继续使用继承策略,可能会构建一个大型类层次结构,其中每个类都扩展另一个类,这不是首选

class App{
    Header header = new Header();
    TableOperations operations = new TableOperations();
}

我建议使用组合,而不是使用继承,继承应该用于具有
关系的对象。如果继续使用继承策略,可能会构建一个大型类层次结构,其中每个类都扩展另一个类,这不是首选

class App{
    Header header = new Header();
    TableOperations operations = new TableOperations();
}
他是你的朋友。我可能会让您的类实现它们的特定接口。然后,您可以使用多接口继承来指定
App
将实现来自其他两个接口的功能

e、 g

App
随后将适当地委托给底层实现
标题
表格操作
(最有可能作为成员实现)

等等。

是你在这里的朋友。我可能会让您的类实现它们的特定接口。然后,您可以使用多接口继承来指定
App
将实现来自其他两个接口的功能

e、 g

App
随后将适当地委托给底层实现
标题
表格操作
(最有可能作为成员实现)


等等。

您可以使用
标题
使用
is-a
,即结构的一部分,并具有所有层次结构的公共状态。对于
操作
有一个
结构,因为
操作
的名称表示他只有操作,而没有
状态
。当然,这取决于你的结构和要求

class App extends Header {
    TableOperations ops = new TableOperations();
}

您可以使用
标题
使用
is-a
,即结构的一部分,并具有所有层次结构的公共状态。对于
操作
有一个
结构,因为
操作
的名称表示他只有操作,而没有
状态
。当然,这取决于你的结构和要求

class App extends Header {
    TableOperations ops = new TableOperations();
}

你不能
扩展
两个类,但是你可以
实现
两个。你不能
扩展
两个类,但是你可以
实现
两个。谢谢。如果我这样使用,那么我需要为表操作创建方法,对吗?假设我在
TableOperations
中有一个名为
A
的方法,然后在
App
类中,我需要一个方法
routeToA
,它再次调用
TableOperations
A
方法,对吗?是的,或者你可以通过一个getter公开表操作,比如
App.getTableOperations().A()谢谢。如果我这样使用,那么我需要为表操作创建方法,对吗?假设我在
TableOperations
中有一个名为
A
的方法,然后在
App
类中,我需要一个方法
routeToA
,它再次调用
TableOperations
A
方法,对吗?是的,或者你可以通过一个getter公开表操作,比如
App.getTableOperations().A()
我需要为
App
类中的
Header
创建实例变量,并在接口实现中调用Header方法?我需要为
App
类中的
Header
创建实例变量,并在接口实现中调用Header方法?