zoukankan      html  css  js  c++  java
  • 类和类的继承(6)

    第6章 自定义功能单元(二)
    定义类
    形式:
    class 类名(父类名):
        pass

    父类名可选,不继承其他类可以连同括号不写,没有继承其他类的类,会自动继承系统中的内建类Object
    pass空语句,预留语句位置等待以后完成

    使用类
    形式:
    类名()

    例:
    class Myclass:
        "MyClass help."

    myclass=Myclass()   #实例化类
    print('输出类说明:')
    print(myclass._doc_)
    print('显示类帮助信息:')
    help(myclass)

    类的方法的定义与调用

    定义方法:
    (1)、方法的第一个参数必须是self,而且不能省略
    (2)、方法整体进行一个单位的缩进,表示其属于类体中的内容

    调用方法:
    调用本类方法:self.方法名(参数列表),不提供self参数
    调用父类方法:
    形式一:父类名.方法名(self,args)
    形式二:super(子类名,self).方法名(args)
    形式三:super().方法名(args)
    调用其他类中方法:
    (1)、实例化类
    (2)、实例名.方法名(参数列表)
    (3)、不提供self参数

    构造方法_init_():实例化时初始化相关数据

    方法分类:
    实例方法
    类方法:使用@classmethod修饰,必须有默认参数"cls",不能使用实例属性,类名调用或实例调用
    静态方法:使用@staticmethod修饰,没有默认参数,不能使用实例属性,类名调用或实例调用

    类的属性:
    在Python中定义属性:直接使用它。可以在构造方法中定义属性,也可以在其他方法中定义属性

    两类属性:
    实例属性:self.属性名     同一个类的不同属性,其值不相关联    引用:self.属性名     作用域:整个类中
    类属性: 属性名           同一个类所有实例所共有的            引用:类名.类变量名

    关于下划线的使用规范:
    _xxx        不能用"from module import"导入 ,只有类和其子类可以反问    类似java 中protected修饰的成员
    __xxx___    系统定义的名称
    __xxx       类中私有变量  ,只有该类可以访问                    类似 java中 private修饰的成员

    类的继承
    具有父类的属性和方法:继承父类(不能继承父类的私有属性和私有方法(属性名或方法名前缀为两个下划线的))
    要实现与父类不同的行为表现或能力:通过重写来修改父类的方法(参数列表一致)

    多重继承
    Python允许多重继承
    形式:在继承父类的括号中,以","分隔开要多重继承的父类

    多重继承时,继承的顺序是一个很重要的因素:如果继承的多个父类中有相同的方法名,但在类中使用时未指定父类名,从左往右,调用先继承的类中的同名方法

  • 相关阅读:
    sql小练习
    登录测试点
    游戏签到
    移动端和pc端微信加入群聊
    小说
    微信语言输入
    linux tar压缩解压缩命令详解
    linux使用nginx配置web服务器
    FFmpeg 视频处理入门教程
    Git学习
  • 原文地址:https://www.cnblogs.com/MUMO/p/5726162.html
Copyright © 2011-2022 走看看