delphi 纯虚函数的应用
delphi 纯虚函数的应用
编程有时候会用到,有部分功能是未来实现的,具体做什么不知道。所以需要预留空间,当这类经常会用到,每一次都要重复上下文代码,把功能安置其中,这样非常麻烦。有没有一种方法,可以把位置函数功能夹杂其中。把功能作为参数传递,这样每次只写新功能即可,这时纯虚函数就排上了用场。
什么情况会用到纯虚函数
功能未知反正需要做些什么,具体什么不知道怎么用
type// 此类作为形式传递参数用TMyUnknowClass = class// 纯虚函数 本类中无需实现只声明即可procedure DoSomthing; virtual; abstract;end;// 实际使用时再继承它TUseClass = class(TMyUnknowClass)// 重写你自己需要的功能procedure DoSomthing; override;end;TForm2 = class(TForm)Button1: TButton;procedure FormCreate(Sender: TObject);procedure Button1Click(Sender: TObject);private{ Private declarations }public// 把这个定义纯虚函数的类传递进去procedure Add(A: TMyUnknowClass);{ Public declarations }end;implementation{$R *.dfm}procedure TForm2.Add(A: TMyUnknowClass);
begin// 预留的功能 功能未知A.DoSomthing;
end;procedure TForm2.Button1Click(Sender: TObject);
varm: TUseClass;
begin// 使用时定义并继承有纯虚函数的类 完成实际功能m := TUseClass.Create;Add(m);m.DisposeOf;
end;{ TUseClass }procedure TUseClass.DoSomthing;
beginShowMessage('TUseClass');
end;// 这样就实现了预留未知功能的任务
delphi 纯虚函数的应用相关推荐
- 【C++】多态(早期绑定、后期绑定)、抽象类(纯虚函数)、虚析构函数
我们都知道面向对象编程的三大特征是封装.继承.多态,今天我们就来说一下其中之一的多态. 概念: 多态: 多态字面意思就是多种形态,C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同 ...
- 但并不从包含函数声明的接口派生_C++的虚函数和纯虚函数
虚函数:类成员函数前面添加virtual关键字,则该函数被称为虚函数. 纯虚函数:在虚函数的基础上,在函数末尾加上 = 0. class Animal {public: virtual void Sh ...
- 一口气搞懂《虚函数和纯虚函数》
学习C++的多态性,你必然听过虚函数的概念,你必然知道有关她的种种语法,但你未必了解她为什么要那样做,未必了解她种种行为背后的所思所想.深知你不想在流于表面语法上的蜻蜓点水似是而非,今天我们就一起来揭 ...
- 析构函数和虚函数、纯虚函数
置于"-"是析构函数:析构函数因使用"-"符号(逻辑非运算符),表示它为逆构造函数,加上类名称来定义. 析构函数也是特殊的类成员函数,它没有返回类型,没有参数 ...
- C++知识点51——虚函数与纯虚函数(下)
接上一篇文章https://blog.csdn.net/Master_Cui/article/details/109957146 10.练习 示例 class base { public:base() ...
- 第十三周项目三-形状类族中的纯虚函数
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年6月1日 *版 本 ...
- c++纯虚函数在父类中调用的规避
构造和析构函数不允许调用纯虚函数,可以先调用虚函数,里面再调用纯虚函数实现. class Base{ public: virtual void foo()=0; Base() { ca ...
- 【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )
文章目录 类的继承 方法的重写 子类中调用父类方法 多态 虚函数 虚函数示例 纯虚函数 相关代码 类的继承 1. 继承表示 : C++ 中继承可以使用 ":" 符号 , 格式为 & ...
- C++中为什么要引入抽象基类和纯虚函数?
为什么要引入抽象基类和纯虚函数? 主要目的是为了实现一种接口的效果. 抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层. ⑴抽象类的定义:带有纯虚函数的类为抽象类. ...
最新文章
- c++ 小游戏_C/C++编程笔记:C语言写推箱子小游戏,大一学习C语言练手项目
- 搭建 Hadoop 伪分布式环境
- 带你深入理解图灵机--天才所在的时代
- V神:随着时间的推移,我对链外数据L2越来越悲观
- 电大计算机2019作业,【电大题】2019年最新国家开 放大学电大《人文英语2、3、》网络核心课形考网考作业两套汇编附全答案.docx...
- python下载安装教程mac-教程|如何在mac上为Python安装XGBoost!
- tomcat 7配置数据库连接池,使用SQL Server2005实现
- python 爬取了租房数据
- 【Django 2021年最新版教程28】前端模板中 时间日期星期格式化
- 下载 Chrome插件 crx的教程
- [示例代码]植物大战僵尸网页版
- 二叉排序树和二叉平衡树
- 全面解读Marshmallow
- Axure RP中后台管理系统通用原型模板
- mp4视频太大怎么压缩?
- 008-break语句与continue语句的使用,循环嵌套
- CAP原理应用与分布式矩阵
- 中国开源人访谈系列之:清风博主
- JumpServer(堡垒机)开源版本图文详解
- 登陆163邮箱显示服务器验证失败是什么原因?微信怎么登陆邮箱?
热门文章
- 【PAT乙级】1052 卖个萌 (20 分)
- 编写一个c程序的头文件
- Spring Boot 接入 GitHub 第三方登录,只要两行配置!
- Spring Cloud Alibaba到底坑不坑?反正是解放了部分使用的繁琐!
- 如何用 SpringBoot 实现并发登录人数控制(附代码)
- struts2的OGNL表达式理解(一)
- mysql dml 日志_Oracle DML错误日志笔记
- ctrl键一直自动按住了_用好Ctrl键,效率快一半
- string去掉后四位_数字黑洞(下):四位数的黑洞
- LeetCode 13罗马数字转整数14最长公共前缀