前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我们总是梦想着对象化(一)

我们总是梦想着对象化(一)

作者头像
加菲猫的VFP
发布2021-08-16 11:37:54
1320
发布2021-08-16 11:37:54
举报
文章被收录于专栏:加菲猫的VFP

当我真的想完整的描述梦想中的对象化时,才发现无从下手。因为它涉及很多的 VFP 基本概念。我深知,N多的人其实并不具有这些基本概念的完整的基本认知。所以,当你阅读不下去的时候,你应该打开 VFP 的帮助文件,查阅并补课。还有很多人其实“不会”看帮助,那我真的无能无力了。

写过 VFP 代码的人都知道,要先设置一下应用程序环境。这好像是 VFP 异于其他语言的一个特征。所谓环境设置,不过是一系列的开关。控制着应用程序环境。我们可以把这些开关,写到一个自定义方法中。而自定义方法,必然依附于一个对象。VFP 并没有提供一个应用程序对象。但是,我们可以创造一个。有一些文章在讨论基于哪种VFP 基类来创建非可视的自定义类,这里不再论述,我习惯使用 Custom 基类来创建,无他,仅仅是习惯。

可能有人觉得这个开篇是如此的突兀,那是因为你的认知局限了你的眼界。

“我从来都不使用类!”我经常听到这样自豪的声音。以前我还争论解释几句,现在,我只是笑一笑,真的是无知者无畏。但是,这里,我的文章要求我必须先解释一下这个基本问题:类。

“共享单车”这个概念已经深入人心了,但是,当你说“共享单车”时,你的语义是指这个事物本身还是某一辆具体的自行车?这是一个与时俱进的类的比喻,电话和汽车的比喻太LOW了。而当你说“小蓝车”的时候,其实就是具体化了“共享单车”的语义。而当你说“路边的小蓝车”时,那就更具体了,就是指自行车了。而当你说“我今天是骑着小蓝车过来的”时,我像同情我自己一样对你表示深深的同情。因为,我这么大了,还在纠结是骑共享单车呢,还是走路,太苦逼了……你骑的那辆小蓝车还舒服吗?

(吐槽一下,我第一次自己扫单车时,居然要求我定位。我太无语了……然后,我很潇洒的打了个的……这帮流氓,太无耻了……你估计替别人付过车费吧,假设,你原地没动,那么你的位置还有什么意义?)

在上面的一段文字中,“共享单车”的概念一次次被具体化。最后,具体为某一辆物理存在的自行车。当然,在此之前,它所代表的事物,都不是物理存在的。

这种语义上的一次次具体化的过程,放在 VFP 里,其实,就是一次次的子类化,而基类,就是“共享单车”。你所骑行的那辆车,就是表单上呈现出的一个个对象。

你从来都不使用类吗?

类的存在方式有两种,一种是 VFP 自带的,一种是你基于 VFP 的基类或者其他自己创建的。前者,就是一个黑箱,你只能靠 VFP 的帮助文件来了解它的使用方法,而后者,假设是你自己创建的,那么,它的物理存在可能是一个VCX 文件,也可能是一个 PRG 文件。对于 VCX/PRG 而言,虽然它们“物理”存在于你的硬盘,但是,因为它们是不可能直接使用的,所以,它们依然属于“类”的范畴。当你把它们拖放到表单后,或者你使用CreateObject()/NewObject() 后,你得到的对象,才是真正的实例。这个过程,就是类的实例化。

当你完全理解上面的内容后,你就会发现,我在前面所说的“应用程序对象”,其实是指“应用程序对象类”。而当我说“创造一个应用程序对象”时,其实是创建一个自定义类。

你的反馈是我写作的动力,欢迎评论,未完待续。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲猫的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档