Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop “这句话是什么意思?”;类接口必须提供一致的抽象;?_Oop - Fatal编程技术网

Oop “这句话是什么意思?”;类接口必须提供一致的抽象;?

Oop “这句话是什么意思?”;类接口必须提供一致的抽象;?,oop,Oop,目前,我正在阅读完整的代码,在处理类的章节中,作者说 类接口必须提供一致的抽象 我无法正确理解这一陈述,如果有人能举例说明,并说明相关的利弊,我将不胜感激 谢谢 假设您有一个与某些存储设备交互的界面。界面的客户机/用户应该能够存储和检索对象。此外,存储中还有“种类”的对象,在存储或检索时,客户机必须指定要存储或检索的对象的种类。因为我们喜欢类型,厌恶字符串,所以他们会用类型。因此: interface ObjectStorage { void storeObject( object, t

目前,我正在阅读完整的代码,在处理类的章节中,作者说

类接口必须提供一致的抽象

我无法正确理解这一陈述,如果有人能举例说明,并说明相关的利弊,我将不胜感激


谢谢

假设您有一个与某些存储设备交互的界面。界面的客户机/用户应该能够存储和检索对象。此外,存储中还有“种类”的对象,在存储或检索时,客户机必须指定要存储或检索的对象的种类。因为我们喜欢类型,厌恶字符串,所以他们会用类型。因此:

interface ObjectStorage
{
    void storeObject( object, type );
    object retrieveObject( type );
}
接口的实现只希望指定它能够处理的类型,因此定义接口实现所需的类型

在此上下文中的“一致抽象”意味着接口的抽象应该在同一级别上。不一致的抽象将定义接口中的实现类型,如下所示:

interface ObjectStorage
{
    void storeObject( object, FileType );
    FileType retrieveObject( FileType );
}
这将使任何实现仅与
FileType
s或其子类型一起工作


我希望我的回答有点连贯。

提供一些上下文会有所帮助。@Joachim-这是在OOP中使用类的一般概念,是不是因为该语句来自《计算机科学标准手册》,所以人们不愿意对此进行评论?就其本身而言,该语句对我没有太多价值。在我回答之前,我需要看看引用的上下文。一定有一些与之相关的例子。否则它只是程序员的幸运饼干文本。