类,类对象和实例对象

2018-04-10  本文已影响0人  theagao

Python 的类定义写完之后就成了一个类对象,而引用这个类对象的就是实例对象。

类中定义的属性和方法都是静态属性,不会随着实例对象的属性和方法的改变而改变。

class C:

       count = 0

>> a = C()

>> b = C()

>> c = C()

>> a.count 

0

>> b.count 

0

>> c.count 

0

>> c.count += 10   ######此时类实例对象的count属性改变,覆盖了类C的count,它的改变不会引起C的count改变,只会影响它自身

>> c.count

10

>>C.count +==100

>> a.count 

100

>> b.count 

100

>> c.count    # c的count属性已经覆盖了C的count属性

10

如果属性和方法的名字 相同时,方法会被属性覆盖。

class C:

       def x(self): 

             print 'x-man'

>> c = C()

>> c.x()

x-man

>> c.x = 1  ###### python 的变量赋值不需要 声明

>> c.x

1

>> c.x()

报错,属性c.x已经将 c.x()覆盖了。

类 少吃多餐。不要试图在一个类中定义所有想到的属性和方法, 尽量利用类的组合和继承

属性名用名词;

方法名用动词。

上一篇下一篇

猜你喜欢

热点阅读