lsp

    0熱度

    1回答

    在編程語言中,如果您希望子對象應該作爲父類&的替代品,但它不應該放棄自己的身份(作爲子級),您必須獲得父級的許可。這就是爲什麼我們使用C#或C++虛擬化這些方法的原因。這成爲一個完整的隱藏。在Java中是否將整個隱藏視爲重寫? 99%的時間我在這裏有錯誤的概念,因爲我認爲我正在考慮它只隱藏。像JAVA一樣,重寫函數可以完全隱藏起來嗎?

    0熱度

    1回答

    的BinaryTreeNode從GraphNode的討論出現在這裏: Changing visibility of method in inherited class 的問題是:真的是「BTNode擴展GraphNode」設計違反了里氏的替代Princeple的?作爲一個「類似」的例子,它顯示的情況: Is deriving square from rectangle a violation of

    3熱度

    2回答

    的里氏替換原則狀態 if S is a subtype of T , then objects of type T may be replaced with objects of type S without altering any of the desirable properties of that program. 然而,在Scala中,存在PartialFunction是不適用/在所有情

    2熱度

    3回答

    我在程序中有一個設計問題,這是由於abstract基地有一個方法帶有一個位置(因此是可選的)參數。 比方說這個班級是A,方法是void f(x, [y]);。現在,y是可選的,因爲我已經知道一些A的子類將使用它,其中一些不會。 實際的問題是違反了里氏替換原則:在需要y子類我不得不拋出一個異常,如果不提供y,而在A.f(這是未實現的),我不拋出任何異常。 A的設計也不好,因爲我提供了一個方法f,其中

    2熱度

    2回答

    我想知道我該如何組織我的兩堂課。 其中之一代表Knife:只是一個簡單,堅實,基本的,就像一把菜刀。 另一個是PocketKnife,其狀態爲已打開或已關閉。 在我的代碼的類 class Knife{ public function cut() {/* do the cutting */} } class PocketKnife extends Knife{ private

    2熱度

    3回答

    如所述here, 行爲亞型的里氏的概念定義 可替代性的一個對象的概念;也就是說,如果S是T的子類型,那麼在程序中類型T的對象可以用類型S 的對象代替而不改變該程序的任何期望屬性(例如 正確性)。 假設,我們有下一個類層次結構: 的基礎上,抽象類 - AnimalWithFur。它具有隻讀屬性furColor,這應該在後繼中被覆蓋。 基類的後繼者 - Cat,它覆蓋了furColor並返回灰色。 貓

    1熱度

    2回答

    我有一個最初創建的代碼庫,其中包含許多不同的選項,這些選項允許您以稍微不同的方式獲取代碼以執行相同的過程, : public class MainFunction { public void main(String option){ if (option.equals("vanilla mode")){ this.firstFunction(); }els

    0熱度

    1回答

    在Python 3中有沒有一種方法表明一個類不支持其父類支持的某些操作?*我知道類可以將__hash__設置爲None以指示類型不可用,但這似乎不起作用一般來說。 例如,假設我有一個集合類,其中有一個__len__方法,我想讓一個子類代表一個沒有定義大小的無限集合。如果我在子類中將__len__設置爲None,當我嘗試獲取集合的長度時,會收到一個醜陋/令人困惑的錯誤消息。 >>> class C:

    3熱度

    1回答

    我正在閱讀爲什麼Java中的數組協方差不好(Why are arrays covariant but generics are invariant?)。如果Dog是Animal的子類型,則Dog[]是Animal[]的子類型。這是一個問題,因爲可以這樣做: Animal[] animals = new Dog[1]; animals[0] = new Cat(); 這與正確實施的泛型不同。

    1熱度

    1回答

    可以將Xtext LSP服務器作爲dls作爲服務使用嗎?所有文件都存儲在服務器(遠程位置)並同時處理來自不同客戶端的多個連接? 如果是有任何建議如何實現這將非常感激。