<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>

          輕松學(xué)會(huì)面向?qū)ο蟮?篇---繼承

          共 1028字,需瀏覽 3分鐘

           ·

          2021-03-13 03:38

          任何一門(mén)編程語(yǔ)言,其根本目的都是用抽象的方式來(lái)描述具體的世界,也就是建模。

          現(xiàn)實(shí)中的世界,是非常復(fù)雜的,為了應(yīng)對(duì)這種復(fù)雜性,理所應(yīng)當(dāng)?shù)囊肓死^承。

          狗是人類(lèi)的好朋友,在一個(gè)游戲里,需要?jiǎng)?chuàng)建很多狗的對(duì)象,也就是需要定義很多狗的類(lèi)。前面的文章里,我定義個(gè)Dog類(lèi),泛指狗,但實(shí)際上狗也分很多種類(lèi),比如獵狗,哈士奇,金毛。。。。。。。

          不同種類(lèi)的狗,有不同的技能,不同的用途,如果只定義一個(gè)Dog類(lèi),就如同一個(gè)大雜燴,所有的代碼都要寫(xiě)在一個(gè)類(lèi)里,太臃腫。所以,你應(yīng)當(dāng)想到,對(duì)每一種狗針對(duì)性的創(chuàng)建一個(gè)類(lèi):

          1. HuntDog(獵狗)

          2. HuskyDog(哈士奇)

          3. GoldenDog(金毛)

          由于不同種類(lèi)狗之間存在差異性,我們決定定義三個(gè)狗的類(lèi),但是,他們也存在相同之處,比如姓名,年齡,體重,任何一只狗都有這3個(gè)屬性,那么每次定義的時(shí)候,都要把這些屬性的初始化過(guò)程寫(xiě)一遍么?

          看到這里,就已經(jīng)接觸到繼承的核心了,繼承這種機(jī)制,并不像引力一樣天然存在的,它純粹是出于管理需要被人為創(chuàng)造出來(lái)的。最簡(jiǎn)單,最直白的理解,繼承可以幫助我們節(jié)省代碼。

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

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


          class HuntDog(Dog):
          pass

          class HuskyDog(Dog):
          pass

          class GoldenDog(Dog):
          pass

          hunt = HuntDog('閃電', 4)
          hunt.eat_moon()

          這三個(gè)類(lèi)都繼承了Dog類(lèi),這樣,他們就不必實(shí)現(xiàn)自己的__init__方法,不僅如此,還直接繼承了Dog類(lèi)的eat_moon方法,父類(lèi)有的,子類(lèi)都有。

          你可以給獵狗增加狩獵方法,給哈士奇增加拆沙發(fā)方法,給金毛增加陪孩子游戲方法,正如前文所言,不同種類(lèi)的狗有不同的功能,因此我們要分開(kāi)定義,但他們又有相同之處,所以我定義一個(gè)父類(lèi),囊括他們的共性。

          這便是用抽象的方式來(lái)描述具體的世界。


          瀏覽 50
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  国产高清无码黄片 | 色婷婷色婷婷色婷婷视频 | 真实国产亂伦免费看 | 亚洲色图1 | 白嫩在线|