不知道是不是自己太笨了,md,面向对象始终学不好!!
课程一
课程二:静态方法
课程一
-
# -*- coding: utf-8 -*-
-
print "类的基础知识"
-
class Student(object):
-
"""docstring for ClassName"""
-
def __init__(self, name,score): ####构造函数,初始化参数值,实例化时要对应,self必须存在每个方法中,除了静态和类方法,下面会介绍到
-
self.name = name
-
self.score=score
-
-
def print_score(self):
-
print '%s %s'%(self.name,self.score)
-
-
def dengji(self):
-
if self.score>90:
-
print "A"
-
elif self.score>70:
-
print "B"
-
else:
-
print "C"
-
def bianli(self):
-
print 'wocao'
-
-
def updatename(self,x):
self.name=x
print 'update name',self.name -
-
-
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') ###重写父类的方法
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') ###重写父类的方法
-
- 运行结果
-
类的基础知识
Bart Simpson 59
Lisa Simpson 87
A
update name wangwu
#####
sex is man address is BEIJING
chenliang 99
this is overwrite function fangsimei -
课程二:静态方法
-
class bird(object):
-
"""docstring for bird"""
-
def __init__(self):
-
pass
-
def get_bird(self,name,btype): #####调用带参数的方法,self在所有的方法中都要存在,除了下面的静态方法
- print 'name is :%s and btype is :%s' %(name,btype)
-
-
@staticmethod #####调用带参数的方法2,需要静态指出
-
def get_bird2(name,btype):
-
print 'name is :%s and btype is :%s' %(name,btype)
-
-
-
p=bird()
-
p.get_bird('w','u')
-
#p.get_bird2('w','u')
- bird.get_bird2('w','u') ####静态的可以不用实例化直接调用哦
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29096438/viewspace-2120219/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29096438/viewspace-2120219/
本文通过具体实例详细介绍了Python中面向对象的基本概念与应用,包括类的定义、对象的创建、属性与方法的使用,以及继承与多态等高级特性。同时,还探讨了静态方法的应用场景。

被折叠的 条评论
为什么被折叠?



