delphi 纯虚函数的应用

编程有时候会用到,有部分功能是未来实现的,具体做什么不知道。所以需要预留空间,当这类经常会用到,每一次都要重复上下文代码,把功能安置其中,这样非常麻烦。有没有一种方法,可以把位置函数功能夹杂其中。把功能作为参数传递,这样每次只写新功能即可,这时纯虚函数就排上了用场。

  1. 什么情况会用到纯虚函数
    功能未知反正需要做些什么,具体什么不知道

  2. 怎么用

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 纯虚函数的应用相关推荐

  1. 【C++】多态(早期绑定、后期绑定)、抽象类(纯虚函数)、虚析构函数

    我们都知道面向对象编程的三大特征是封装.继承.多态,今天我们就来说一下其中之一的多态. 概念: 多态: 多态字面意思就是多种形态,C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同 ...

  2. 但并不从包含函数声明的接口派生_C++的虚函数和纯虚函数

    虚函数:类成员函数前面添加virtual关键字,则该函数被称为虚函数. 纯虚函数:在虚函数的基础上,在函数末尾加上 = 0. class Animal {public: virtual void Sh ...

  3. 一口气搞懂《虚函数和纯虚函数》

    学习C++的多态性,你必然听过虚函数的概念,你必然知道有关她的种种语法,但你未必了解她为什么要那样做,未必了解她种种行为背后的所思所想.深知你不想在流于表面语法上的蜻蜓点水似是而非,今天我们就一起来揭 ...

  4. 析构函数和虚函数、纯虚函数

    置于"-"是析构函数:析构函数因使用"-"符号(逻辑非运算符),表示它为逆构造函数,加上类名称来定义.  析构函数也是特殊的类成员函数,它没有返回类型,没有参数 ...

  5. C++知识点51——虚函数与纯虚函数(下)

    接上一篇文章https://blog.csdn.net/Master_Cui/article/details/109957146 10.练习 示例 class base { public:base() ...

  6. 第十三周项目三-形状类族中的纯虚函数

    /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年6月1日 *版 本 ...

  7. c++纯虚函数在父类中调用的规避

    构造和析构函数不允许调用纯虚函数,可以先调用虚函数,里面再调用纯虚函数实现. class Base{ public:     virtual void foo()=0;     Base() { ca ...

  8. 【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )

    文章目录 类的继承 方法的重写 子类中调用父类方法 多态 虚函数 虚函数示例 纯虚函数 相关代码 类的继承 1. 继承表示 : C++ 中继承可以使用 ":" 符号 , 格式为 & ...

  9. C++中为什么要引入抽象基类和纯虚函数?

    为什么要引入抽象基类和纯虚函数? 主要目的是为了实现一种接口的效果. 抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层. ⑴抽象类的定义:带有纯虚函数的类为抽象类. ...

最新文章

  1. c++ 小游戏_C/C++编程笔记:C语言写推箱子小游戏,大一学习C语言练手项目
  2. 搭建 Hadoop 伪分布式环境
  3. 带你深入理解图灵机--天才所在的时代
  4. V神:随着时间的推移,我对链外数据L2越来越悲观
  5. 电大计算机2019作业,【电大题】2019年最新国家开 放大学电大《人文英语2、3、》网络核心课形考网考作业两套汇编附全答案.docx...
  6. python下载安装教程mac-教程|如何在mac上为Python安装XGBoost!
  7. tomcat 7配置数据库连接池,使用SQL Server2005实现
  8. python 爬取了租房数据
  9. 【Django 2021年最新版教程28】前端模板中 时间日期星期格式化
  10. 下载 Chrome插件 crx的教程
  11. [示例代码]植物大战僵尸网页版
  12. 二叉排序树和二叉平衡树
  13. 全面解读Marshmallow
  14. Axure RP中后台管理系统通用原型模板
  15. mp4视频太大怎么压缩?
  16. 008-break语句与continue语句的使用,循环嵌套
  17. CAP原理应用与分布式矩阵
  18. 中国开源人访谈系列之:清风博主
  19. JumpServer(堡垒机)开源版本图文详解
  20. 登陆163邮箱显示服务器验证失败是什么原因?微信怎么登陆邮箱?

热门文章

  1. 【PAT乙级】1052 卖个萌 (20 分)
  2. 编写一个c程序的头文件
  3. Spring Boot 接入 GitHub 第三方登录,只要两行配置!
  4. Spring Cloud Alibaba到底坑不坑?反正是解放了部分使用的繁琐!
  5. 如何用 SpringBoot 实现并发登录人数控制(附代码)
  6. struts2的OGNL表达式理解(一)
  7. mysql dml 日志_Oracle DML错误日志笔记
  8. ctrl键一直自动按住了_用好Ctrl键,效率快一半
  9. string去掉后四位_数字黑洞(下):四位数的黑洞
  10. LeetCode 13罗马数字转整数14最长公共前缀