面向对象编程中的抽象数据类型是什么?我已经浏览了这个主题的维基,但我仍然不清楚它.有人可以澄清吗?
我对C#中抽象类的使用有点困惑.在C++中,定义一个继承抽象类的类可以遵循的模板是有意义的.但是,在C#中,Interface不具备相同的用途吗?
确实,抽象类可以具有接口不提供的默认实现.因此,如果实现不需要包含在基类中,那么最好选择接口吗?
当我了解抽象类时,就说WT(H*)!!!
问题:
**如果你明白我的意思*
背景
我有一个抽象类,类似于
class IConverter{
public:
virtual void DoConvertion() = 0;
};
Run Code Online (Sandbox Code Playgroud)
将有许多具体的类只是实现DoConvertion方法.
class TextConverter : public IConverter{
public:
virtual void DoConvertion(){
// my code goes here
}
};
class ImageConverter : public IConverter{
public:
virtual void DoConvertion(){
// my code goes here
}
};
Run Code Online (Sandbox Code Playgroud)
这样会有很多具体的实现.我创建了一个头文件,比如说CharacterConverter.h,它有一个抽象类IConverter.
题
由于我的具体类只实现了DoConvertion方法,是否需要为每个具体类创建单独的头文件?我的意思是它需要为所有具体类创建ImageConverter.h,TextConverter.h等等吗?所有这些头文件都将包含与IConverter抽象类相同的代码.
有什么想法吗?