对于类之间如何相互继承方法,我感到困惑。我已经了解了从基类继承的知识,但是,有一些我不理解的示例代码。它涉及到搜索二叉树,而我找不到任何能更好地解释代码如何继承的资源。
我的目的是了解它,以便可以使用它搜索链接列表。
如果有人可以推荐我阅读任何解释这一特定领域的相关文献,我将不胜感激。
我已经突出显示了我实际上还不了解其继承方式的代码部分。具体部分首先发布:
$guess['probability']['$label']
整个程序:
public Company Read(string bezeichnung)
{
return stri.Search(new Company() { Bezeichnung = bezeichnung });
}
答案 0 :(得分:1)
a。您的代码中没有真正的继承。仅实现标准接口IComparable<T>
。实现一个接口有时称为继承,但它并不相同。在这种情况下,它强制Company
实现CompareTo()
方法。
b。您有疑问的代码仅创建一个临时对象。您可以将其重写为可能更易于理解的内容:
//return stri.Search(new Company() { Bezeichnung = bezeichnung });
var tempCompany = new Company() { Bezeichnung = bezeichnung };
return stri.Search(tempCompany);
答案 1 :(得分:1)
代码中的类BinaryTree<T>
要求T
必须实现IComparable<T>
。许多列表式的类提出了类似的要求。如果类型实现IComparable<T>
,则意味着可以使用ComparetTo( T t1, T t2 )
方法将一个类的两个实例进行相互比较。此方法返回一个指示,指出T
大于,小于或等于另一个。意识到大于,小于或等于完全取决于实现接口的类型。它主要用于根据比较结果对树,列表或其他结构中的事物进行排序或定位。
实现接口看起来像类继承。语法是一样的...但是它更像是一个契约,因为接口没有要继承的代码。如果您制作的课程如下:
class MyClass: IComparable<MyClass>
{
//--> stuff
}
...然后,您必须使用带有签名的公开可见方法:
int CompareTo( MyClass a, MyClass b )
{
//--> look at the two instances and make a determination...
}
该方法可以使用该类的任何特征来确定是什么使a
大于,小于或等于 b
...从而控制它的方式将被放置到结构中。
一个类只能从另一个类继承...但是它可以实现所需数量的接口。我猜这就是多重继承。