zoukankan      html  css  js  c++  java
  • Python面向对象编程——引言

     
    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'
  • 相关阅读:
    maven 的 oracle的Missing artifact com.oracle:******:jar:11.2.0.2.0
    [CF 191C]Fools and Roads[LCA Tarjan算法][LCA 与 RMQ问题的转化][LCA ST算法]
    公司估值(贴现现金流量法DCF)
    Shell编程学习---第五篇:Shell的输入和输出
    S3C2410 实验三——块拷贝、字拷贝(寄存器的理解)
    模板方法模式实现组合查询
    关于方程x^2+y^2=p (p为素数)的解问题
    IOS登陆+注册+抽奖+排行榜
    用PersonalRank实现基于图的推荐算法
    Redis3.0--集群安装部署
  • 原文地址:https://www.cnblogs.com/itdyb/p/5416523.html
Copyright © 2011-2022 走看看