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

    持续学习python+django中。。。

     

    一、接口简述

    在我们所熟知的面向对象编程语言中,大多提供了接口(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)

    PS:该例子适用于python3,更多关于zope.interface的内容,请参考zope.interface源码

     

     

  • 相关阅读:
    vue项目搭建
    js监听input输入框值的实时变化实例
    nodejs-Child Process模块
    nodejs-Express框架
    前端的存储技术cookie、sessionStorage、localStorage
    node.js之path
    css两列自适应布局的多种实现方式及原理。
    React jQuery公用组件开发模式及实现
    js创建对象的几种方式
    IE9 不F12打开控制台,代码不执行。打开后正常
  • 原文地址:https://www.cnblogs.com/imyalost/p/8598343.html
Copyright © 2011-2022 走看看