简明Python教程笔记四 python3.x

面向对象

1.类

#Filename:PyClass.py
class Animal:
    count = 0	#类成员,所有对象共享
    __privateVal = 2	#双下划线代表私有变量,只能在内部函数中调用
    def __init__(self,name):	#构造函数,self默认加上否则函数中无法调用自己
        self.name = name	#name是创建的对象变量,由该对象独享
        Animal.count +=1	#调用类成员变量必须要有类名

    def __del__(self):	#析构函数,何时执行很不确定,可以在外部手动调用
        print('%s bye'%self.name)
        Animal.count -=1

    def CheckCount(self):
        print('left:',Animal.count)

    def ShowPrivate():
        print('private:',Animal.__privateVal)	#调用类私有变量

	def __PrivateFunc():	#私有函数
        print('I am private')
dog = Animal('dog')
if True:
    cat = Animal('cat')	#域内创建对象,出域并不一定会调用__del__
    cat.__del__()	#可以手动调用析构__del__

dog.CheckCount()
print('animal:',Animal.count)
#print('animal:',Animal.__privateVal)	#这一步会出错,外部无法调用私有成员变量
Animal.ShowPrivate()
#Animal.__PrivateFunc()	#这一步会出错,外部无法调用私有成员函数


2.继承

#Filename:inherit.py
class parent1:
    def __init__(self,name):
        self.name = name

class parent2:
    def __init__(self,age):
        self.age = age

class child(parent1,parent2):	#继承的方式 多重继承
    def __init__(self,name,age):	#初始化父类方式
        parent1.__init__(self,name)
        parent2.__init__(self,age)

    def ShowName(self):
        print('name',self.name)	#继承自父类1的成员变量

    def ShowAge(self):
        print('age',self.age)	#继承自父类2的成员变量

ch = child('dv',3)
ch.ShowName()
ch.ShowAge()





你可能感兴趣的:(python,python,类,继承)