1. 程式人生 > >關於pytho面向過程開發人員三步轉oo的補充,再加一步,四步走戰略

關於pytho面向過程開發人員三步轉oo的補充,再加一步,四步走戰略

這樣的 存儲 一個人 類屬性 bsp 哪些 不用 back style

1、之前寫的這個很久了

裏面提到的是三步走:

模塊和類的轉換規則是:

1、模塊級降為類

2、全局變量改成實例屬性,全局的不會被改變的變量類似於那種const的,可以寫成類屬性(減少點內存存儲可以)。

3、然後把函數改成方法。方法是類裏面的,函數是模塊裏面的。

因為裏面舉得一個例子是一個人,但人的屬性寫的是模塊級全局變量,如果是這種寫法,三步走就可以oo了。

2、但現在的情況是很多人不喜歡寫全局變量(不寫全局是為了盡可能模擬多實例,不可能用全局變量,因為全局變量只有一份而且運行結果是從入口函數傳參得到結果,不希望修改頂層代碼,所以才會出現盡量少寫全局變量這種現象了

),喜歡一步一步一環套一環的傳參和return來處理業務,那麽這種寫法,如果按照上面的三步走戰略,就不行了,因為只執行這三部,這樣做是沒有個卵用的,只是有了class外殼,但絲毫沒有封裝的概念。我最近就看過一些這樣的類,寫的貌合神離,貌像面向對象,但神是面向過程,這種類當然是十分的沒必要,因為沒有體現出面向對象帶來的任何優點,也沒任何意義了,執行這三步價格class關鍵字,只不過是脫了褲子放屁。

如果是這種思維來寫的面向過程,那麽三步走還不行,需要重新構思整個流程,即在代碼裏面少return少傳參,多用全局變量,按照這個思路在腦袋裏面過一遍,這一步是發生在腦袋裏面的,不是讓你真在代碼寫全局變量,是為了先構思出來有哪些全局變量,然後再接著上面的三步走戰略降級命名空間,就是oo了。

所以這個前置的發生在腦袋裏面的過程是不能少的,這一步是整個精神支柱 ,後面三步是修改代碼面貌。

那麽總結一下就是四步走了:

0、腦瓜裏面構思,你的面向過程的return 傳參,有哪些盡可能多的是可以弄成全局變量的,這時候不用考慮全局變量是不是需要多份的,因為後面在三步走降級的時候,這個玩意自動變成了實例屬性,而每個類的實例的的屬性都是互不幹擾的,除非了你刻意寫了單例模式。

1、模塊級降為類

2、全局變量改成實例屬性,全局的不會被改變的變量類似於那種const的,可以寫成類屬性(減少點內存存儲可以)。

3、然後把函數改成方法。方法是類裏面的,函數是模塊裏面的。

第0步發生在腦袋裏面,後面三步發生在代碼編輯器裏面。

面向對象本質是方法和屬性的封裝,如果把屬性綁定全部改為外界傳參給方法,那寫這樣的類,基本上是沒個鳥用廢了類的80%功能,只不過是加個class外殼罷了,。

關於pytho面向過程開發人員三步轉oo的補充,再加一步,四步走戰略