这是本章的重中之重!会编程的人,这整章中几乎只要看本节就可以了。毕竟,E-Basic的代码非常之多,我不可能全部介绍。这就需要你会知道查看官方自带的帮助文件,就像你有需要的时候就查阅字典一样。
此外,本章还将简单的介绍面向对象编程。是非常简单的介绍,仅仅足够你理解E-Prime而已。请在你的大脑里用高级编程语言执行下面的语句:
If(state==1) //0=没学过面向对象编程;1=学过。
{goto CheckPoint;}//在后面,很容易找到,学过的话直接跳到那里,下面这段不用看。
你不需要管什么叫“面向对象”,接下去的一小段你知道一下,这是面向对象编程思想的一部分就行了,至于这具体是什么,有兴趣深入学编程的同学才去了解。
现在我们来这样这样定义一个概念:人类,这是一个大类,我们称之为父类;然后男人和女人,都属于人类这个大类中的小类,我们把它们称之为人类的子类。很好理解,简单来说,就是父子父子,父类是大类,子类是小类。所以我们定义了父类和子类。
我们可以看到,子类是从父类继承而来的。男人和女人都属于人类,它们拥有人类共同的特征:如正常发育情况下有手和脚、能学习、走路、睡眠等,我们可以称之为属性。这就叫继承,子类(男人和女人)从父类(人类)那里继承了它的一些特征。
而人类又是动物这个类的子类,人类从动物这个父类那里也继承了一些特征:如会进食、会睡眠、会行走等等。
现在我们弄清楚了什么叫父类和子类,什么是继承。
接下来我们再定义一个概念,叫做“实例”。实例就是某一类里的一个特定的对象。比如说“张三”是男人这个类对象的一个实例;“李小红”是女人这个类对象的一个实例。
现在,我们应该已经弄清楚了类、继承、实例这三个概念。那么我们为什么要学习这个呢?因为在E-Prime里也包含有这样的关系。
例如ImageDisplay、TextDisplay和SlideDisplay都是一种叫“StimDisplay”的子类。它们都从这个StimDisplay里继承了X,Y,Duration等这些属性。Stim就是英文里“刺激”这一单词的简写。所以我们看到,ImageDisplay、TextDisplay和SlideDisplay这三个类都包含相同的一些属性,正如男人、女人、人妖虽然各有不同,但是也包含一些相同的属性。
同样,StimDisplay也是”E-Object”这个类的子类。
知道了这一点之后,当你在官方教程“E-Basic.chm”中看到下面这样的示例代码:
你要知道,这里的StimDisplay就是说,凡是属于这个类都可以。
也就是,我们改成:
TextDisply.BackColor=CColor(“red”) 是可以的
ImageDisply.BackColor=CColor(“red”) 也是可以的
因为它们都属于StimDisplay,都有BackColor这个属性。当然,要注意的是,你只能修改某一个实例的BackColor。也就是说,比如我们有三个TextDisplay,分别叫T1,T2,T3。
我们可以修改它们的BackColor
T1.BackColor=CColor(“red”)
T2.BackColor=CColor(“red”)
T3.BackColor=CColor(“red”)
但是:
TextDisply.BackColor=CColor(“red”)
这是不行的。这就好比,我们可以说“张三有300块钱”,但我们不能说“男人有300块钱一样”;这里,我们只能说“把T1这个TextDisplay的BackColor设定为red”,而不能说“把TextDisplay的BackColor设定为red”。即使你要让一般的TextDisplay默认BackColor为red,也不是这样设定的。
CheckPoint:-----------上面所说的CheckPoint在这里!!---------------
理解了这一点以后,打开“E-Basic”,在索引或者目录中找到Object Tree(Object Structure):
页面中有一个树状图:
现在,你大概知道里面的内容是什么意思了吧?我们可以看到这是一个分支图,这些矩形后面的分支代表了它的子类。看,我们常用的TextDisplay、ImageDisplay都是一个叫StimDisplay的子类呢!而StimDisplay又是一个叫RteRunnableInputObject的子类。FeedbackDisplay居然是Slide的子类呢!想想看是不是那样?FeedbackDisplay是不是和Slide很像?而Slide是不是更高级?想想看,如果我们加入自定义代码,是不是能让Slide达到和FeedbackDisplay一样的效果?
另外,建议你如果看不懂这些英文单词,请查一查。这有助于理解。
通过下面左图的树状图,或者右图的分支图看到,还有很多E-Object是我们之前不曾用过的。在之后的学习中会接触一些,但无论如何,您要有自主意识。要知道,以后遇到困难,或者想要更深入地了解某个E-Object,您要知道打开这个帮助文件自查。知道了这点,本书的意义就不仅限于学习了E-Prime了:
此为开源免费教程。教程所用资源等请访问目录或专题,或者Github页面:
https://www.jianshu.com/p/5bbf1c274370
https://github.com/zkx654321/Learn-E-Prime-Easily