[英]Base Class Property Inheriting from Base
我正在進行代碼審查,並偶然發現一個抽象類繼承自具有繼承類屬性的抽象基類的情況。
目前我無法調試代碼以查看它是如何工作的,但我確信這已經在生產中工作了很多年。
因此,對於我來說,以下邏輯如何逐步發揮作用是一個謎。
傳承:
public class Inheritor : Base {
...
properties
...
}
基礎:
public class Base {
public Inheritor { get; set; }
...
other properties
...
}
這怎么可能?
希望在概念層面上有意義的一個例子:
public class Boss : Employee {
...
properties
...
}
public class Employee {
public Boss { get; set; }
...
other properties
...
}
可能有很多類型的員工,但每個人都可能有一個老板(誰是一個特定的員工)。 回想一下非原始類型的屬性是引用 ,因此不是Employee
包含Boss
的情況(因為它也是一個Employee
)包含一個Boss
等等。 Employee
可以參考 Boss
, 可以指 Boss
等。 在某些時候,它停在一個Boss
誰沒有一個Boss
(基准為null
),或者它會在圈子。
我認為你可能會絆倒is-a與has-a的關系概念,你認為它有某種方式與a-a一樣受到約束。 Inheritor
是一個Base
,如果倒數是真的,那將是非常奇怪的:如果一個Base
也是一個Inheritor
。 但沒有理由不能讓Base
擁有一個Inheritor
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.