zoukankan      html  css  js  c++  java
  • python:面向对象编程之Zope.interface安装使用

    一、接口简述

    在我们所熟知的面向对象编程语言中,大多提供了接口(interface)的概念。接口在编程语言中指的是一个抽象类型,是抽象方法的集合;它的特点如下:

    1、类通过继承接口的方式,来继承接口的抽象方法;

    2、接口并不是类(虽然编写类和方法的方式很相似);

    3、类描述对象的属性和方法(实现接口的类,必须实现接口内所描述的所有方法,否则必须声明为抽象类);

    4、接口包含类要实现的方法(接口无法被实例化,但可以被实现);

    总结:接口只定义规范,不负责具体实现(具体实现由具体的实现者完成)!

    二、python中的interface

    python中也有interface的概念,但是python其本身不提供interface的实现,需要通过第三方扩展库来使用类似interface的功能,一般都是Zope.interface。

    PyPI地址:Zope.inter

    或者通过pip命令行进行安装,示例如下:

    如上图所示:zope.interface下载成功后提示我pip版本较低,然后升级pip到最新版本,升级成功后zope.interface就安装成功了,接下来使用即可。

    官方文档:Zope.interface

    三、zope.interface_demo.py

    复制代码
     1 # coding=utf-8
     2 from zope.interface import Interface
     3 from zope.interface.declarations import implementer
     4 
     5 # 定义接口
     6 class MyMiss(Interface):
     7     def imissyouatlost(self,miss):
     8         """Say i miss you at lost to miss"""
     9 
    10 @implementer(MyMiss) # 继承接口
    11 class Miss:
    12     def imissyouatlost(self,somebody):
    13         """Say i miss you at lost to somebody"""
    14         return "i miss you at lost, %s!" % somebody
    15 
    16 if __name__ == '__main__':
    17     z = Miss()
    18     hi = z.imissyouatlost('Zy')
    19     print(hi)
    复制代码
  • 相关阅读:
    如何确定Kafka的分区数、key和consumer线程数
    Storm程序永久代内存溢出
    JVM堆内存相关的启动参数:年轻代、老年代和永久代的内存分配
    Git添加本地项目出现fatal: unable to get credential storage lock: File exists
    Kafka的通讯协议
    文件上传 数据对比
    jquery 弹出层
    XSS 简单理解之:AntiSamy
    XSS 简单理解
    超人说我最叼蝙蝠侠笑了 超级英雄战力排名
  • 原文地址:https://www.cnblogs.com/anzhangjun/p/9742070.html
Copyright © 2011-2022 走看看