纯虚函数实现接口类:接口编程实战演练
2023-09-14 08:57:16 时间
p /p
pre code_snippet_id= 604494 snippet_file_name= blog_20150213_1_398153 name= code >公共的接口要求
Java面向对象之抽象类与接口 抽象类的使用原则如下: (1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),默认为public; (2)抽象类也有构造器 (3)抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理; (4)外部抽象类不允许使用static声明,而内部的抽象类运行使用static声明。使用static声明的内部抽象类相当于一个外部抽象类,继承的时候使用“外部类.内部类”的形式表示类名称 (5)有时候由于抽象类中只需要一个特定的系统子类操作,所以可以忽略掉外部子类。这样的设计在系统类库中会比较常见,目的是对用户隐藏不需要知道的子类
java类分为普通类和抽象类,接口,上一节我大概讲了java类的一般格式,今天将抽象类和接口。同时讲一下它们是怎样存储的。 最重要的是理解为什么要有抽象和接口,这样学下来你猜不会迷茫,才能更好的去使用,所以多看看我写的关于抽象类和接口的目的。
//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类的一般格式,今天将抽象类和接口。同时讲一下它们是怎样存储的。 最重要的是理解为什么要有抽象和接口,这样学下来你猜不会迷茫,才能更好的去使用,所以多看看我写的关于抽象类和接口的目的。
相关文章
- 大数据必学Java基础(五十四):List接口深入了解
- GoLang接口---中
- 访问接口报415
- Go 编程 | 连载 19 - 接口的应用
- Sir在线生成短链接源码全开源+Api接口
- Java集合Map接口详解——含源码分析
- 【Groovy】编译时元编程 ( 利用注解进行 AST 语法树转换 | 定义注解并使用 GroovyASTTransformationClass 注明 AST 转换接口 | AST 转换接口实现 )
- 【Linux 内核 内存管理】memblock 分配器编程接口 ④ ( memblock_alloc 函数 | memblock_alloc_base 函数 )
- 【Linux 内核 内存管理】memblock 分配器编程接口 ⑤ ( memblock_free 函数 | memblock_remove_range 函数 )
- SkeyeLive同屏直播库库功能介绍和接口说明与调用
- 【Eolink Apikit】API 接口主流协议解析
- Java版接口自动化–初稿详解编程语言
- [一] java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念详解编程语言
- ServletConfig和ServletContext接口及其使用方法详解(附带实例)
- Linux下的SPIDEV设备接口使用指南(linuxspidev)
- 使用Redis远程访问接口轻松访问数据(redis 远程访问接口)
- PHP面向对象程序设计(oop)学习笔记(一)-抽象类、对象接口、instanceof和契约式编程