OOP 中 靜態方法 和 類方法 的區別

時間 2021-05-31 12:34:51

1樓:靈劍

以Python為例,instance method呼叫時,第乙個引數傳入的是物件的引用;class method呼叫時,第乙個引數傳入的是實際呼叫的類;static method呼叫時,沒有第乙個引數的繫結。

static method實際上是沒有引數繫結的方法,它其實是面向過程當中的普通函式,只不過被放到了類的命名空間裡面;有時候可以有訪問控制上的區別,比如允許訪問私有的靜態物件等等。一般也不認為它是類這個物件本身的方法,因為按照OOP的觀點來看,類物件本身的方法,應當定義在類的類(有些時候叫元類,metaclass)當中。

class method繫結到類,而且被子類繼承,子類呼叫的時候傳入實際呼叫時的子型別,可以用這個子型別呼叫其他class method,這樣就可以在子型別中override某些class method實現多型。static方法一般是不存在override的,它呼叫的時候沒有繫結到具體的引數,所以也不能靠自己實現多型。

鍵和 鍵的區別和辨別方法(高中)。?

安濟 烯烴有碳碳雙鍵,有乙個鍵叫 鍵有乙個叫 鍵,鍵不穩定極容易和其他物質發生加成反應,高中化學不用區分這麼細,只要知道有乙個 鍵不穩定,極易發生反應就可以了。 寂語 sigma鍵比派鍵更穩定,所以sigma鍵更易形成。一般發生有機化學反應通常派鍵比sigma鍵易斷裂。高中寫的雙鍵,一般是一條sig...

有關Java中類的繼承中方法繼承的問題?

Intopass 對於非靜態方法,有幾種呼叫方法。staticMethod this.staticMethod instance.staticMethod ClassName.staticMethod 強烈建議只使用第一種直接呼叫和第四種通過類名呼叫的方法。並且將第一種方法等同於第四種方法,並理解對...

道家的意念類修煉方法?

雷洛 1 得益於網際網路的發達,各類修行方法幾乎都能查的到,都達到了普傳的程度。只要你能分辨真偽,甚至可以自己總結。我就是這麼幹的。2 題主說的意念類修煉方法,各種修行正法都是從心性入手,但是過程一定是身心一體的。打個不恰當的比喻,軟體再牛,硬體跟不上,總是不完美。3 內丹術第乙個次第,有4個小階段...