【Python】物件導向程式設計初體驗

小亮520cl發表於2016-06-15
不知道是不是自己太笨了,md,物件導向始終學不好!!

課程一
  1. # -*- coding: utf-8 -*-
  2. print "類的基礎知識"
  3. class Student(object):
  4.     """docstring for ClassName"""
  5.     def __init__(self, name,score):                     ####建構函式,初始化引數值,例項化時要對應,self必須存在每個方法中,除了靜態和類方法,下面會介紹到
  6.         self.name = name
  7.         self.score=score

  8.     def print_score(self):
  9.         print '%s %s'%(self.name,self.score)

  10.     def dengji(self):
  11.         if self.score>90:
  12.             print "A"
  13.         elif self.score>70:
  14.             print "B"
  15.         else:
  16.             print "C"
  17.     def bianli(self):
  18.         print 'wocao'

  19.     def updatename(self,x):                                            
            self.name=x
            print 'update name',self.name


  20.         
bart = Student('Bart Simpson', '59')                               ###例項化 得對應初始化
print bart.name,bart.score    




lisa = Student('Lisa Simpson', '87')
lisa.print_score()                                               ####呼叫類下面的方法
bart.dengji()                      


n=Student('Lisa Simpson', '87')                                    
n.updatename('wangwu')                                           #####呼叫帶引數的方法








class children1(Student):                                             #####子類的繼承
    def __init__(self,name,score,sex,address):                        ###子類繼承並再次初始化新引數
    Student.__init__(self,name,score)                            
    self.sex=sex
    self.address=address


    def pall(self):
    print 'sex is %s address is %s'%(self.sex,self.address)

    def updatename(self,y):                                          ####方法的重寫
    self.name=y
    print 'this is overwrite function',self.name







print '#####'


john=children1('chenliang', '99','man','BEIJING')                          #####子類繼承
john.pall()
john.print_score()                                                         ###繼承父類的方法直接呼叫
john.updatename('fangsimei')                                               ###重寫父類的方法




  1. 執行結果
  2. 類的基礎知識
    Bart Simpson 59
    Lisa Simpson 87
    A
    update name wangwu
    #####
    sex is man address is BEIJING
    chenliang 99
    this is overwrite function fangsimei



課程二:靜態方法
  1. class bird(object):
  2.     """docstring for bird"""
  3.     def __init__(self):
  4.         pass
  5.     def get_bird(self,name,btype):                 #####呼叫帶引數的方法,self在所有的方法中都要存在,除了下面的靜態方法
  6.         print 'name is :%s and btype is :%s' %(name,btype)
  7.     
  8.     @staticmethod                                  #####呼叫帶引數的方法2,需要靜態指出
  9.     def get_bird2(name,btype):
  10.         print 'name is :%s and btype is :%s' %(name,btype)


  11. p=bird()
  12. p.get_bird('w','u')
  13. #p.get_bird2('w','u')
  14. bird.get_bird2('w','u')                             ####靜態的可以不用例項化直接呼叫哦


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2120219/,如需轉載,請註明出處,否則將追究法律責任。

相關文章