很多初學(xué)的小伙伴們,在學(xué)到“類”的時候,就開始犯迷糊了。“類”到底是個什么東西,是用來干嘛的?然后就百度搜索,搜出了很多。一看回答,很多都是在扯什么面向?qū)ο?,還講了一堆稀奇古怪的概念,看了反而更迷糊了。所以,我這篇文章,就是要帶大家,用最簡單、通俗、暴力的方式理解什么是類,類能干什么,怎么使用。
首先,我們要明白,既然python的作者設(shè)計了“類”這個東西,那肯定是在編程的時候有這種需求的。那我們什么時候需要用到類呢?當(dāng)然,可以用到類的地方有很多很多。但如果大家還沒有太多的代碼經(jīng)驗,我就直接告訴你們答案了:如果多個函數(shù)需要反復(fù)使用同一組數(shù)據(jù),使用類來處理,會很方便。
面向?qū)ο缶幊淌窃诿嫦蜻^程編程的基礎(chǔ)上發(fā)展來的,它比面向過程編程具有更強的靈活性和擴展性。面向?qū)ο缶幊淌浅绦騿T發(fā)展的分水嶺,很多初學(xué)者會因無法理解面向?qū)ο蠖艞墝W(xué)習(xí)編程。
面向?qū)ο缶幊?Object-orientedProgramming,簡稱OOP),是一種封裝代碼的方法。其實,在前面章節(jié)的學(xué)習(xí)中,我們已經(jīng)接觸了封裝,比如說,將亂七八糟的數(shù)據(jù)扔進列表中,這就是一種簡單的封裝,是數(shù)據(jù)層面的封裝;把常用的代碼塊打包成一個函數(shù),這也是一種封裝,是語句層面的封裝。
打個比方,若在某游戲中設(shè)計一個烏龜?shù)慕巧?,?yīng)該如何來實現(xiàn)呢?使用面向?qū)ο蟮乃枷霑唵危梢苑譃槿缦聝蓚€方面進行描述:從表面特征來描述,例如,綠色的、有4條腿、重10kg、有外殼等等。從所具有的的行為來描述,例如,它會爬、會吃東西、會睡覺、會將頭和四肢縮到殼里,等等。
如果將烏龜用代碼來表示,則其表面特征可以用變量來表示,其行為特征可以通過建立各種函數(shù)來表示。參考代碼如下所示: