<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          輕松學會面向對象第2篇---屬性與方法

          共 1515字,需瀏覽 4分鐘

           ·

          2021-03-06 09:29

          接上文,是什么很重要,而你最好不要強行的將編程領域的概念與現實生活中的事物相關聯,那么,我們就從代碼形式上入手,在缺少代碼實踐之前,暫且用這種笨拙但有效的方法來學習面向對象。

          1. 什么屬性

          什么是屬性?極難定義,因此,不下定義,直接上代碼,我告訴你,代碼里哪些是屬性

          class Book():
          def __init__(self, _name, _author, _price):
          self.name = _name # 書名
          self.author = _author # 作者
          self.price = _price # 價格

          在上面這段代碼里,name, author, price就是屬性,它們分別表示書的書名,作者,價格。面向對象這種編程范式,有助于我們去思考構建程序,Book這個類,可以和現實中的書建立起聯系,你可能不理解類,但你還沒看過書么,想一想關于書,你還能想到什么?

          1. 頁數

          2. 出版日期

          3. 出版社

          4. 重量

          5. 腰封

          6. 尺寸

          關于書,你可以找到很多很多與其相關的可用來描述它的詞,這不都是書的屬性么?你也可以把這些屬性加到代碼里,你寫的Book類可以和我寫的Book類不相同,沒人規(guī)定Book類該怎么寫,全憑你意愿,但你從不能在類里加一個年齡(age)的屬性吧,這就扯淡了,因此我說,面向對象有助于我們思考構建代碼。

          2. 什么是方法

          老規(guī)矩,先上代碼

          class Dog():
          def __init__(self, _name, _age):
          self.name = _name
          self.age = _age

          def eat_moon(self):
          print("天狗吃月")

          古時候的人類,科學認知有限,月食這種事情祖先們是無法理解的,因此有天狗吃月說法。據說月食發(fā)生時,古人們就敲臉盆弄出聲響,想借此將天狗嚇走,當然,最后月亮還會回來的,人們便真的以為是自己嚇走了天狗。

          我上面定義了一個類,類的名字叫Dog,它有name和age兩個屬性,同時還有一個eat_moon方法。在類里面定義的函數,就不叫函數,而是叫方法。

          是不是覺得很奇特,還有點別扭?試想,全世界的教科書和媒體都把獅子改叫成老虎,把老虎改叫成獅子,那么20年后人就真的會把今天的老虎叫成獅子,他們一點都不覺得奇怪。我想強調的是,你之所以不習慣,覺得別扭,覺得奇特,是因為你還不夠謙卑,你不習慣,它也這么叫,就是這么強勢,愛咋地咋地。編程語言這東西不是為你設計的,不考慮你的感受。

          方法,是對行為的描述,狗狗還會干什么?

          1. 吃屎

          2. 撒尿

          3. 撕床單

          4. 看家護院

          5. 發(fā)情

          很多很多,你可以把這些方法寫到類里啊,只要你愿意。

          3. 他們有什么用

          有什么用,不是你現在該去考慮的問題,學習一定是要步步為營的,屬性是什么,方法是什么,是什么很重要,先解決這個問題,在去關心怎么用。知道怎么用,并不一定有助于你理解它是什么。真想知道他們有什么用,繼續(xù)看我的文章。

          4. 本文的瑕疵

          本文在介紹屬性和方法時,存在很多瑕疵,有些甚至可以說是錯誤,但眼下,這是我能想到的最容易理解的講述方法,至于一些錯誤的認識和理解,放在以后去修正。如果一上來就給你講最深刻的理解,百分之九十九的人就蒙了,先從簡單的理解入手吧。


          瀏覽 35
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  激情综合网站 | 美女被操视频91 | 俺来也俺去啦欧美www | 女人操逼视频精品在线播放 | 男女操逼视频在线观看 |