国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php新手請教: 什么時候該用class,什么時候該用function?
天蓬老師
天蓬老師 2017-04-11 10:23:41
0
5
337

在一些問題上,類和直接用函數(shù)都能解決。而且我看某些php框架中,諸多類里面的方法都不需要依賴這個類的實例 ,這些方法屬于工具性的方法,而且這些類里面沒有任何屬性(變量),那這種情況下使用類還有什么意義呢?如果不聲明static的話,還要先實例化才能調(diào)用,這比函數(shù)麻煩的多。那為什么許多php類庫還要用一堆class,去實現(xiàn)幾個function就能實現(xiàn)的功能呢?

所以說,到底什么情況下該用function,什么情況下該用class?

天蓬老師
天蓬老師

歡迎選擇我的課程,讓我們一起見證您的進步~~

reply all(5)
左手右手慢動作

class的功能是對function的打包,當(dāng)你需要打包多個function成一個模塊(class)時,就用class而不是裸的function。

什么時候用,見仁見智,因地制宜,不必非要追求完美的答案

左手右手慢動作

我覺得題主可能對于面向?qū)ο蟮恼軐W(xué)有沒理解透徹的地方。
面向?qū)ο蟮腸lass并不是把一堆function封裝成一個模塊這么簡單,他更多的是讓你把代碼世界中的各種東西抽象成一個事物(也就是對象),然后賦予他動作和標(biāo)簽,也就是方法和屬性。
比如說用戶member他可以登陸,可以發(fā)帖,他名字叫昌維,那么可以給他登陸和發(fā)帖方法,還有一個name屬性。
所以你這個問題我的回答是,如果是一些很小的功能,或者很通用的功能,并沒有和任何對象有耦合關(guān)系的情況下用function,否則就是用class。

PHPzhong

這是一個很有意思的問題,正如你所說:『到底什么情況下該用function,什么情況下該用class?』

什么情況?隨意舉3例:

  1. 一次性任務(wù)?

  2. 長期維護,業(yè)務(wù)邏輯復(fù)雜,變化頻繁?

  3. 長期維護,基礎(chǔ)支持,如開發(fā)框架?

通常一次性任務(wù),用什么無所謂了,完成任務(wù)即可。而需要長期維護的任務(wù),就不僅僅是function或者class的問題了。這是一個工程,軟件工程。

企業(yè)級軟件系統(tǒng)與過去相比,更大也更復(fù)雜,變化也更頻繁,如何降低復(fù)雜度、應(yīng)對變化,推動了軟件工程研究,也催生了表達(dá)能力更強的高級語言的演進。在設(shè)計上通過分解、抽象、層次結(jié)構(gòu)等手段來降低復(fù)雜度、應(yīng)對變化。

面向?qū)ο蠹夹g(shù)給出的一味藥方,包括抽象、封裝、模塊化、層次結(jié)構(gòu)、類型、并發(fā)、持久等原則。傳世藥方還有很多。也留下許多精典如《編程格調(diào)》、《代碼大全》、《敏捷軟件開發(fā)-原則、模式與實踐》、《編寫可讀代碼的藝術(shù)》、《軟件設(shè)計重構(gòu)》、《企業(yè)應(yīng)用架構(gòu)模式》......

那么答案是什么呢?我也不清楚,或許你需要一個復(fù)雜的系統(tǒng)折磨一下,理解一些原則指導(dǎo)實踐,知行合一。

大家講道理

如果工具性的函數(shù)比較多的話,包在工具類里作為靜態(tài)函數(shù)來調(diào)用會比較清晰,也方便對不同用途的工具函數(shù)進行分類。

阿神

歸類。

class User

function name
function sex
function age
...
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template