zl程序教程

您现在的位置是:首页 >  其他

当前栏目

纯虚函数实现接口类:接口编程实战演练

接口编程 实现 函数 实战 演练
2023-09-14 08:57:16 时间
p /p pre code_snippet_id= 604494 snippet_file_name= blog_20150213_1_398153 name= code >公共的接口要求

//SocketProtocol.h

#pragma once

class SocketIF

public:

 //客户端初始化 获取handle 上下文信息

 virtual int cltSocketInit() = 0;

 //客户端发报文

 virtual int cltSocketSend(unsigned char *buf, int buflen) = 0;

 //客户端收报文

 virtual int cltSocketRev(unsigned char *buf, int *buflen) = 0;

 //客户端释放资源

 virtual int cltSocketDestory() = 0;

};
厂商1要求的接口原型

//SocketImp1.h

#pragma once

#include "socketprotocol.h"

class SocketImp1 :public SocketIF

public:

 SocketImp1(void);

 ~SocketImp1(void);

public:

 int cltSocketInit();

 //客户端发报文

 int cltSocketSend(unsigned char *buf, int buflen);

 //客户端收报文

 int cltSocketRev(unsigned char *buf, int *buflen);

 //客户端释放资源

 int cltSocketDestory();

private:

 char *pcommon;

 int len;

//SocketImp1.cpp

#include stdio.h 

#include stdlib.h 

#include string.h 

#include "SocketImp1.h"


int mainOP02(SocketIF *sIf, unsigned char *in, int inlen, unsigned char *out, int *outlen) int ret = 0; ret = sIf- cltSocketInit(); ret = sIf- cltSocketSend(in, inlen); ret = sIf- cltSocketRev(out, outlen); ret = sIf- cltSocketDestory(); return ret; void main() SocketIF *sIf = new SocketImp1(); unsigned char buf[1024] = { 0 }; strcpy((char *)buf, "ddddddddddddddsssssssssssssssssssss"); int buflen = 10; unsigned char out[1024] = { 0 }; int outlen = 10; mainOP02(sIf, buf, buflen, out, outlen); printf("out:%s\n", out); delete sIf; system("pause"); }




Java面向对象之抽象类与接口 抽象类的使用原则如下: (1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),默认为public; (2)抽象类也有构造器 (3)抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理; (4)外部抽象类不允许使用static声明,而内部的抽象类运行使用static声明。使用static声明的内部抽象类相当于一个外部抽象类,继承的时候使用“外部类.内部类”的形式表示类名称 (5)有时候由于抽象类中只需要一个特定的系统子类操作,所以可以忽略掉外部子类。这样的设计在系统类库中会比较常见,目的是对用户隐藏不需要知道的子类
java类分为普通类和抽象类,接口,上一节我大概讲了java类的一般格式,今天将抽象类和接口。同时讲一下它们是怎样存储的。 最重要的是理解为什么要有抽象和接口,这样学下来你猜不会迷茫,才能更好的去使用,所以多看看我写的关于抽象类和接口的目的。