首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用包装类- java

使用包装类- java
EN

Stack Overflow用户
提问于 2015-06-15 23:16:15
回答 1查看 169关注 0票数 0

我在这里描述了我之前的问题:Java - how can I loop methods with same name but different parameters

我有一个相关的问题。

这里给出了一个例子--使用包装器类的一个好例子?

代码语言:javascript
运行
复制
class Wrapper{
  Part param1;
  File param2;
  File param3;
}

class Validator{
  void validate (Wrapper wrapper);
}


class ValidatorA extends Validate{
 void validate (Wrapper wrapper){
    //use wrapper.part... 
 }
}

class ValidatorC extends Validate{
 void validate (Wrapper wrapper){
    //use wrapper.file... 
     }
}

但这让我想知道。wrapper的名称正确吗?是有效的包装类吗?据我所知,包装器类用于原语,以将它们用作对象,那么它不应该被命名为不同的吗?还是我错了?

我需要以同样的方式调用它,这样我就可以循环它,这样重载就不是答案了。给定的类运行良好-我只是在想,使用包装器名称的方式是否正确?

EN

回答 1

Stack Overflow用户

发布于 2015-06-16 00:37:36

在这种情况下,包装器不是一个好的选择。通常,wrapper用于包装一些不同的东西,使它们看起来很相似,即使它们是完全不同的。例如,你可能有一些来自不同来源的数据流--文件,http连接,资源。您所关心的就是从这个源中读取数据。因此,您编写了一个包装器,它可以从任何来源读取数据,并只传递数据。

包装器不应该与通用功能混合在一起。在上面的示例中,所有3个源都可以被视为流,因此自然的解决方案是将它们都用作流。但是,即使最终在包装器中,它们也被用作流,它们仍然需要不同的处理和操作来处理它们。而wrapper会处理它。您并不关心什么是封装的--您只需以包装器提供的通用方式使用封装的东西即可。

在您的示例中,我们有常规对象,它封装了一些数据和功能。这是常规的OOP方法。称其为包装器只会误导以后可能使用此代码的用户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30848820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档