【Python】面向对象编程初体验

本文通过具体实例详细介绍了Python中面向对象的基本概念与应用,包括类的定义、对象的创建、属性与方法的使用,以及继承与多态等高级特性。同时,还探讨了静态方法的应用场景。
不知道是不是自己太笨了,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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29096438/viewspace-2120219/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值