File
课程
Open()
方法。 File
的{{1}}
实现TextFile
接口,这需要
实施IReadableFile
方法。如果我将变量Read()
声明为myFile
,我就无法在其上调用IReadableFile
方法。我希望能够同时使用Open()
的基类(TextFile
)方法及其接口(File
)方法的功能。这可能吗?
编辑:我在VB.NET工作(如果重要的话)。
我试图通过File类提供一组最小的文件I / O功能,然后通过从File派生并添加一些其他方法(如Read,Write等)为特定类型的文件提供扩展功能。 。我希望派生类是多态的 - 例如,在TextFile上调用Write方法只会将文本数据写入文件系统,而在BinaryFile上调用Write方法可能会在将二进制数据写入文件系统之前对其进行编码。
答案 0 :(得分:4)
创建一个IFile接口,使File类实现IFile。 IReadableFile将继承自IFile。
答案 1 :(得分:0)
只有在IReadableFile中放置Open()或将IReadableFile转换为TextFile时才有可能。
有关您正在做的事情的更多细节可能有所帮助。
答案 2 :(得分:0)
您可以将myFile声明为文本文件对象。然后,您将能够调用Read(来自继承的File对象)和Open(来自已实现的IFile Readable接口)。
Public Class File
Public Sub Open()
End Sub
End Class
Public Interface IFileReadable
Sub Read()
End Interface
Public Class TextFile
Inherits File
Implements IFileReadable
Public Sub Read() Implements IFileReadable.Read
End Sub
End Class
Public Class Main
Public Sub New()
Dim oFile As TextFile
oFile.Read()
oFile.Open()
End Sub
End Class