Python面向对象

# -*- coding: utf-8 -*-

class Employee:
    '所有员工的基类'
    __secretCount = 0;  # 私有变量
    empCount = 0 # 类变量

    def __init__(self, name, salary):
        print '执行了__init__方法'
        self.name = name
        self.salary = salary
        Employee.empCount += 1

    # 类的方法,在类的内部,使用def关键字可以为类定义一个方法,与一般方法定义不同
    # 类方法必须包含参数self,且为第一个参数
    def displayCount(self):
        print 'class_name =', self.__class__.__name__
        print 'Total Employee %d ' % Employee.empCount

    def displayEmployee(self):
        print 'name:', self.name , ',salary:', self.salary
        
    
emp1 = Employee('zhangsan', 4000)
emp1.displayCount()
emp1.displayEmployee()
'''
Python不允许实例化的类访问私有数据
但是可以使用object_className__attrName访问私有属性
一个'_'和两个'__'
'''
# print emp1.__secretCount
print emp1._Employee__secretCount

'''
emp2 = Employee('lisi', 8000)
emp2.displayCount()
emp2.displayEmployee()


# 添加一个属性
emp1.age = 23

# 删除'age'属性
# del emp1.age

# 判断对象是否有这个属性
if hasattr(emp1, 'age'):
    print 'emp1 age is', emp1.age
else:
    print 'emp1 没有age属性!'

print Employee.__name__
print Employee.__doc__
print Employee.__dict__
'''


参考文章:http://www.w3cschool.cc/python/python-object.html


你可能感兴趣的:(Python)