美文网首页
抽象类2018-10-22

抽象类2018-10-22

作者: 癫狂麦芽糖 | 来源:发表于2018-10-22 19:20 被阅读0次

    补充
    1.raise错误类型
    自定义错误类型:写一个类继承Exception,重写str方法定义错误提示语

    class MyError(Exception):
       def __str__(self):
           return '需要一个偶数,但是给了奇数'
    number=int(input('请输入一个偶数'))
    if number&1:
       raise MyError
    

    2.多继承
    一般在需要继承多个类的功能的时候用
    多继承时,只能继承第一个父类的对象属性

    3.把对象写入json和把字典列表转化为对象列表
    4.把字典添加到类的json文件中

    抽象类和抽象方法

    抽象类:只能被继承不能实例化(不能创建对象)
    抽象方法:声明的时候不用实现,在子类中必须去重写的方法
    import abc
    声明抽象类:
    类继承abc模块中的ABCMeta,继承的时候需要加参数metaclass,并通过abstractmethod来声明抽象方法
    子类继承抽象类后,必须在子类中实现抽象类中所有的抽象方法
    metaclass-->元类

    import abc
    class Shape(metaclass=abc.ABCMeta):#声明抽象类
        @abc.abstractmethod#声明抽象方法
        def draw(self):
            pass
    

    抽象类不能实例化

    pygame显示

    常见模块及功能
    display
    event
    draw
    image
    font

    1.图片显示:
    a.加载图片image.load
    load(图片地址)-->返回图片对象
    b.渲染图片screen.blit
    blit(渲染对象,渲染位置)
    渲染位置-->元祖,(x坐标,y坐标),原点在左上角
    c.展示内容display.flip
    fill(颜色)-->填充颜色,计算机三原色rgb颜色
    2.文字显示
    a.创建字体对象
    SysFont(字体名,字体大小,是否加粗-False,是否倾斜=False)
    Font(字体文件路径,字体大小)-->自定义字体
    b.根据字体创建文字对象
    字体对象.render(文字,是否抗锯齿,颜色)
    c.渲染文字blit
    d.展示filp
    3.图形显示
    a.画线 draw.line
    def line(surface,color,start_pos,end_pos,width=1)
    def lines(Surface, color, closed, pointlist, width=1):
    surface:窗口,图片,文字对象
    closed:是否闭合
    pointlist:多点坐标值
    b.画圆
    def circle(Surface, color, pos, radius, width=0)
    pos为圆心
    4.pygame事件(event.type)
    鼠标事件:
    pygame.MOUSEBUTTONDOWN按下
    MOUSEBUTTONUP弹起
    MOUSEMOTION移动
    键盘事件

    相关文章

      网友评论

          本文标题:抽象类2018-10-22

          本文链接:https://www.haomeiwen.com/subject/ydywzftx.html