数据封装

封装 多肽 接口类 抽象类

a 夏天 提交于 2019-11-26 22:39:44
1. 接口类 from abc import ABCMeta,abstractmethod class Payment(metaclass=ABCMeta): @abstractmethod def pay(self,money): pass class Wechatpay(Payment): def fuqian(self,money): print('微信支付了%s元'%money) p = Wechatpay() #不调就报错了 借用abc模块来实现接口 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 from abc import abstractmethod,ABCMeta class Payment(metaclass=ABCMeta): # 元类 默认的元类 type @abstractmethod def pay(self,money):pass # 没有实现这个方法 # 规范 :接口类或者抽象类都可以 # 接口类 支持多继承,接口类中的所有的方法都必须不能实现 —— java # 抽象类 不支持多继承,抽象类中方法可以有一些代码的实现 —— java class Wechat

Cisco路由器之IPSec 虚拟专用网(包括相关知识点以及配置实例)

怎甘沉沦 提交于 2019-11-25 22:52:37
博文大纲: 一、虚拟专用网相关概念 二、IPSec 虚拟专用网的基本概念 三、ISAKMP/IKE阶段1及阶段2的建立过程 四、IPSec 虚拟专用网的配置实现 五、总结 前言:由于“Virtual Private Network”(请看首字母,就知道是什么咯)是敏\感词汇,所以在博文中使用它的中文名字“虚拟专用网”来代替。 一、虚拟专用网相关概念。 1、虚拟专用网的定义 虚拟专用网就是在两个网络实体之间建立的一种受保护的连接,这两个实体可以通过点到点的链路直接相连,但通常情况下他们会相隔较远的距离。 对于定义中提到的“受保护”一词,可以从以下几个方面理解: 通过使用加密技术防止数据被窃听。 通过数据完整性验证防止数据被破坏、篡改。 通过认证机制实现通信方身份确认,来防止通信数据被截获和回放。 此外,虚拟专用网技术还定义了以下功能: 何种流量需要被保护。 数据被保护的机制。 数据的封装过程。 实际生产环境中的虚拟专用网解决方案不一定包含上面所有功能,还要由具体的环境需求和实现方式决定,而且很多企业可能采用不止一种的虚拟专用网解决方案。 2、虚拟专用网的连接模式 虚拟专用网的连接模式有两种:传输模式和隧道模式。 (1)传输模式: 在整个虚拟专用网的传输过程中,IP包头并没有被封装进去,这就意味着从源端的数据始终使用原有的IP地址进行通信。而传输的实际数据载荷被封装在虚拟专用网报文中

jQuery的ajax封装和前端mock数据

て烟熏妆下的殇ゞ 提交于 2019-11-25 20:38:45
使用jQuery的ajax进行网络请求,一般会先对它进行封装,封装成便于管理的形式。 我一般的封装如下: /** * mock数据 */ var myData = { getData: [ { "itemTitle": "测试用文字标题一", "itemSubTitle": "P0000000123456", "leftContentOne": "生效日期", "leftContentTwo": "2018-12-30", "rightContentOne": "上传日期", "rightContentTwo": "2018-12-30" }, { "itemTitle": "测试用文字标题二", "itemSubTitle": "P0000000123456", "leftContentOne": "生效日期", "leftContentTwo": "2018-12-30", "rightContentOne": "上传日期", "rightContentTwo": "2018-12-30" } ] } /** * ajax请求封装 */ var dataRequest = { request: function (opts) { // var _myData = myData[opts.key]; // opts.callback(_myData); // return; $

C++ 数据封装

ぃ、小莉子 提交于 2019-11-25 19:27:19
一、C++ 数据封装 所有的 C++ 程序都有以下两个基本要素: 程序语句(代码):这是程序中执行动作的部分,它们被称为函数。 程序数据:数据是程序的信息,会受到程序函数的影响。 封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引申出了另一个重要的 OOP 概念,即数据隐藏。 数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。 C++ 通过创建类来支持封装和数据隐藏(public、protected、private)。我们已经知道,类包含私有成员(private)、保护成员(protected)和公有成员(public)成员。默认情况下,在类中定义的所有项目都是私有的。例如: class Box { public : double getVolume ( void ) { return length * breadth * height ; } private : double length ; // 长度 double breadth ; // 宽度 double height ; // 高度 } ; 变量 length、breadth 和 height 都是私有的(private)。这意味着它们只能被 Box 类中的其他成员访问

TCP的三次握手和四次挥手与路由器(三层)转发原理

雨燕双飞 提交于 2019-11-25 19:19:57
传输层是国际标准化组织提出的开放系统互连(OSI)参考模型中的第四层。该层协议为网络端点主机上的进程之间提供了可靠、有效的报文传送服务。其功能紧密地依赖于网络层的虚拟电路或数据报服务。传输层定义了主机应用程序之间端到端的连通性。传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层,因为它是源端到目的端对数据传送进行控制从低到高的最后一层。 传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种形式。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol) 。传输层提供逻辑连接的建立、传输层寻址、数据传输、传输连接释放、流量控制、拥塞控制、多路复用和解复用、崩溃恢复等服务。 本篇文章主要讲述传输层协议TCP连接的建立(三次握手)和断开(四次挥手),与路由器的数据转发原理(封装过程)。 1、TCP建立连接的过程称为三次握手,我们可以通过下图来了解TCP三次握手的过程: 从图上我们可以看出,PC1要与PC2建立通讯连接,要经过3个步骤,这个三个步骤我们就称为三次握手。经过这3个握手PC1和PC2才可以真正通讯,传输数据。

TCP的三次握手和四次挥手与路由器(三层)转发原理

╄→гoц情女王★ 提交于 2019-11-25 19:13:20
传输层是国际标准化组织提出的开放系统互连(OSI)参考模型中的第四层。该层协议为网络端点主机上的进程之间提供了可靠、有效的报文传送服务。其功能紧密地依赖于网络层的虚拟电路或数据报服务。传输层定义了主机应用程序之间端到端的连通性。传输层只存在于端开放系统中,是介于低3层 通信子网 系统和高3层之间的一层,但是很重要的一层,因为它是源端到 目的 端对数据传送进行控制从低到高的最后一层。 传输层的服务一般要经历传输连接建立阶段, 数据传送 阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种形式。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和 用户数据报协议 UDP(User Datagram Protocol) 。传输层提供逻辑连接的建立、传输层寻址、数据传输、传输连接释放、流量控制、拥塞控制、多路复用和解复用、崩溃恢复等服务。 本篇文章主要讲述传输层协议TCP连接的建立(三次握手)和断开(四次挥手),与路由器的数据转发原理(封装过程)。 1、TCP建立连接的过程称为三次握手,我们可以通过下图来了解TCP三次握手的过程: 从图上我们可以看出,PC1要与PC2建立通讯连接,要经过3个步骤,这个三个步骤我们就称为三次握手。经过这3个握手PC1和PC2才可以真正通讯