![]()
![]()
![]()
1 class Box:#定义一个类名为Box,类名后不必有括号,类包含类属性和类方法,这个类没有定义类属性
2 '''这是一个计算体积的类'''#这是这个类的__doc__属性,执行类后就可以在交互界面输入Box.__doc__查看这行说明文字了
3 openstate=0
4 def __init__(self):#这是类的构造函数,当实例化Box后会自动调用这个__init__方法
5 self.length=0.0 #这是实例属性,在类内访问用self.length,在类外访问用 实例名.length
6 self.width=0.0
7 self.height=0.0
8 self._color='red'
9 self.__valum=0.0#双下换线开头的变量表示私有变量,所以他为私有实例属性,只能在类内访问到
10 def set_color(self,color):
11 self._color=color
12
13 def computevalum(self):#定义了一个类方法。
14 self.__valum=self.length*self.width*self.height
15 print('长度=',self.length,'宽度=',self.width,'高度=',self.height,'valum=',self.__valum)
16
17 def info_color(self):
18 #self.set_color(self._color)#在类中,函数调用函数的方式
19 print('Box的颜色为',self._color)
20
21 def open_box(self):
22 if Box.openstate==0:
23 print('打开了Box')
24 Box.openstate=1
25 else:
26 print('Box已经打开了,不能重复打开')
27 if __name__=='__main__':
28 computa=Box() #实例化Box类
29 computa.length=1
30 computa.width=2
31 computa.height=3
32 computa.computevalum()
33 computa.set_color ('yellow')
34 computa.info_color()
35 computa.open_box()
36 print('')
37
38 computb=Box()#实例化Box类
39 computb.length=2
40 computb.width=2
41 computb.height=3
42 computb.computevalum()
43 computb.set_color ('black')
44 computb.info_color()
45 computb.open_box()