1、类和实例:类是对象的定义,而实例是真正的事物。他存放了类中所定义的对象的具体信息
关键字是class,后面紧跟着一个类名,随后是定义类的雷替代码。通常有各种各样的定义和声明组成。
class newClass(base):
'define neewClass class'
类分为经典类和新式类。所以得新式类必须继承至少一个父类
创建一个实例的过程称作实例化:aclass=newClass()
2.方法:类的功能。在Python中,方法定义在类的定义中,但只能被实例所调用。调用一个方法的途径:(1)定义一个类(和方法),(2)创建一个实例 (3)用这个实例用调用方法
例子:def aClass(object):
def printfoo(self):
print ('You invoked printFoo()')
注意self参数,他在所有的方法声明中都存在,代表实例对象本身。
3、创建一个类:
class AddrBookEntry(object):
'Address book entry class'
def __init__(self,nm,ph):
self.nm=nm
self.ph=ph
print ('Created instance for:',self.name)
def updataPhone(self,newph):
self.ph=newph
print ('Updated phone# for:',self.name)
4、创建类的实例:
>>> bobi=AddrBookEntry('bobi','110')
Created instance for: bobi
>>> dier=AddrBookEntry('dier','123')
Created instance for: dier
5、访问实例属性:
>>> bobi.nm
'bobi'
>>> bobi.ph
'110'
6、方法调用:
>>> bobi.updataPhone('18800295576')
Updated phone# for: bobi
>>> dier.updataPhone('18721589896')
Updated phone# for: dier
>>> dier.ph
'18721589896'
7、创建子类:
靠继承来进行子类化
class EmplAddrBookEntry(AddrBookEntry):
'Employee Address Book Entry class'
def __init__(self,nm,ph,idnum,em):
AddrBookEntry.__init__(self,nm,ph)
self.empid=idum
self.email=em
def updateEmail(self,newem):
self.email=newem
print('Updated E-mail address for:',self.nm)
8、使用子类:
>>> jack=EmplAddrBookEntry('jack','2213445',11,'123@345.com')
Created instance for: jack
>>> jack.updataPhone('123')
Updated phone# for: jack
>>> jack.updateEmail('www@com')
Updated E-mail address for: jack
>>> jack
<__main__.EmplAddrBookEntry object at 0x00000000032450F0>
>>> jack.email
'www@com'