“面向对象编程中的接口”;“类java”;及;c++-例如; 在C++中,只定义类体中的方法并在源文件中实现它们是常见的做法。
但这并不是一个真正的界面。因为只有类可以实现这些方法 在Java中,可以定义“接口”,就像定义类一样。现在,任何类都可以实现定义的接口 现在想象一下,当用Java编程时。我有一门课“管理”,还有一门课叫“联系”。“administration”类包含一个“contact”对象数组。现在需要定义和实现一些有用的方法,如“添加”、“删除”、“交换”等。。在“接触”阵列上操作 这些方法应该由接口定义,并由“administration”类实现 我的问题是,这个接口应该被引用到“customer”类,例如我们称之为iccustomer,还是应该被引用到产生“IAdministration”的“administration”类 我不在乎“foo-able”或“I-foo”,只在乎接口背后的概念 它们应该由描述数据的类(“联系人”)或处理数据的类(“管理”)来定位吗 我知道这是一个更具哲理的问题,但无论如何,我想知道你对此的看法“面向对象编程中的接口”;“类java”;及;c++-例如; 在C++中,只定义类体中的方法并在源文件中实现它们是常见的做法。,java,c++,oop,Java,C++,Oop,但这并不是一个真正的界面。因为只有类可以实现这些方法 在Java中,可以定义“接口”,就像定义类一样。现在,任何类都可以实现定义的接口 现在想象一下,当用Java编程时。我有一门课“管理”,还有一门课叫“联系”。“administration”类包含一个“contact”对象数组。现在需要定义和实现一些有用的方法,如“添加”、“删除”、“交换”等。。在“接触”阵列上操作 这些方法应该由接口定义,并由“administration”类实现 我的问题是,这个接口应该被引用到“customer”类,例
接口可以面向任何类型的类。
隐式/非正式地,每个类都有一些接口
由类定义的方法确定 在你看来,这应该是一种管理。因为它
定义
管理
上的操作,该管理是联系人
对象的容器(由文字中的数组支持)
“添加”、“删除”、“交换”不是联系人的操作
对象,但在管理
对象上
ICustomer/IContact将是另一个具有方法,如setFirstName、setLastName、setPhone等
getFirstName、getLastName、getPhone等。它只是一些POJO/bean
携带一些数据。从你的描述中我觉得是这样 接口可以面向任何类型的类。
隐式/非正式地,每个类都有一些接口
由类定义的方法确定 在你看来,这应该是一种管理。因为它
定义
管理
上的操作,该管理是联系人
对象的容器(由文字中的数组支持)
“添加”、“删除”、“交换”不是联系人的操作
对象,但在管理
对象上
ICustomer/IContact将是另一个具有方法,如setFirstName、setLastName、setPhone等
getFirstName、getLastName、getPhone等。它只是一些POJO/bean
携带一些数据。从你的描述中我觉得是这样 术语“接口”的含义(以及therm“对象”的含义)取决于所引用的编程范式 Java完全采用了经典的OOP范式,基于对一个基础和一些接口的继承 相反,C++可以支持“多重继承”,这是一个更一般的概念。 在这种情况下,“接口”可以看作是一个只有纯虚方法的类
class Ia
{
public:
virtual int method1()=0;
virtual int method2()=0;
virtual ~Ia() {}
};
class Ib
{
public:
vritual int method3()=0;
vritual int method4()=0;
virtual ~Ib() {}
};
class Object
{
public:
virtual ~Object() {}
};
class A:
public Object,
public Ia,
{
public:
virtual int method1(); //implementation
virtual int method2(); //implementation
};
class B:
public A,
public Ib
{
public:
virtual int method3(); //implementation
virtual int method4(); //implementation
};
从这个意义上讲,应该很容易识别您的案例术语“接口”的含义(以及therm“对象”的含义)取决于您正在引用的编程范例
Java完全采用了经典的OOP范式,基于对一个基础和一些接口的继承
相反,C++可以支持“多重继承”,这是一个更一般的概念。
在这种情况下,“接口”可以看作是一个只有纯虚方法的类
class Ia
{
public:
virtual int method1()=0;
virtual int method2()=0;
virtual ~Ia() {}
};
class Ib
{
public:
vritual int method3()=0;
vritual int method4()=0;
virtual ~Ib() {}
};
class Object
{
public:
virtual ~Object() {}
};
class A:
public Object,
public Ia,
{
public:
virtual int method1(); //implementation
virtual int method2(); //implementation
};
class B:
public A,
public Ib
{
public:
virtual int method3(); //implementation
virtual int method4(); //implementation
};
从这个意义上讲,识别您的案例应该很容易我不能真正理解您的例子,但我相信混淆可能是由于同一术语的不同用法和含义造成的 一般来说,系统的接口是外部部件如何与之交互。这通常用于说明此类在其接口中提供该函数和该函数的代码中 另一个概念是OO接口,它实际上是一个与类型交互的协议。在不同的语言中,接口用于引用协议或抽象接口
你应该接受这个词的两种用法,因为这两种用法都很常见。在C++中,一个类可以实现一个协议(无状态纯抽象类相当于接口),从而实现该接口,它可能具有定义自己接口的那些和其他函数。但我相信混淆可能是由于同一术语的不同用法和含义造成的 一般来说,系统的接口是外部部件如何与之交互。这通常用于说明此类在其接口中提供该函数和该函数的代码中 另一个概念是OO接口,它实际上是一个与类型交互的协议。在不同的语言中,接口用于引用协议或抽象接口
你应该接受这个词的两种用法,因为这两种用法都很常见。在C++中,一个类可以实现一个协议(无状态纯抽象类相当于接口),从而实现该接口,它可能具有定义自己接口的那些和其他函数。这为我澄清了情况。非常感谢你的快速回答。这为我澄清了情况。这是真的,例如在对象Pascal中,一个类定义在一个区域内,该区域也称为“接口”。也许还有第三种可能性,“接口”一词是如何使用的。尽管如此,我还是发现OO接口是一种