Board logo

标题: [问题求助] [已解决]SCripting是类FileSystemObject是对象这样理解对不对 [打印本页]

作者: Hello123World    时间: 2011-7-25 10:59     标题: [已解决]SCripting是类FileSystemObject是对象这样理解对不对

面向对象的基础:
类——对象——对象方法&对象属性

shell是wscript的一个对象,wscript是类。
例如:
CreateObject("SCripting.FileSystemObject").CreateTextFile "hello.txt"
rem SCripting是类,FileSystemObject是对象,CreateTextFile是对象的方法。

这样理解是对的吗?
作者: broly    时间: 2011-7-25 18:59

本帖最后由 broly 于 2011-7-25 19:07 编辑

《VBScript程序员参考手册》第八章有介绍:
  1. 8.1 对象、类和组件
  2. 在开始编写和使用您自己的VBScript类之前,本节会先介绍一些术语。近年来类(class)、对象(object)、组件(component)这些技术术语被误解、混淆了。尽管它们有着不同的含义,但这些术语经常被视为可以互换的。这使得纯粹的面向对象主义者有些抓狂,而且这还加大了新手的学习难度。这里先明确一下这些术语的含义。 严格地说,对象是复杂数据和程序结构在内存中的表现,只有在程序运行时才存在。一个合适的比喻就是数组,这也是一个只有在运行时才存在的复杂数据结构。在某段代码中使用数组时,大部分人都知道这是指的内存中的数据结构。不过,在程序员使用“对象”这个词时,并不一定是指其严格的定义,即运行时存在于内存中的数据结构。 对象与数组还是有些区别,最重要的就是对象并不只是像数组那样存放一些复杂数据(以属性的形式);对象还有“行为”(也就是说“它知道该怎么做”)这表现为方法。属性可以存放任何类型的数据,而方法则可以是过程或函数。将数据和行为一起放入对象中,这样就可以在设计程序时将被操作的数据和操作数据的代码放在一起。 类是对象的模板。对象只有在运行时才会存在于内存中,而类则是在设计时就能直接使用的程序设计结构。类是代码,而对象是在程序运行时对这段代码的使用。如果要在运行时使用对象,必须先在设计时定义一个类。在运行时会根据类所提供的模板创建对象。(这里只是用不同的方式表达同一个意思。)例如,可以编写一个名为Customer的类。保存这个类
  3. 定义之后,就可以再用其他代码在内存中创建任意数量的Customer对象。
  4. 很多人都将类等同于对象,比如“我编写了Customer对象,然后创建了一千个Customer对象并根据他们的消费额排序”。前面说过,这会给新手造成混淆,但是随着经验的增长,您将学会如何根据上下文来理解它的真实含义。
复制代码
我用自己的话讲:

类是在自己写代码的时候说的
而对象就是类的实例化,即把这个类用 Set 语句实例化为 objDemo
类是一个抽象的概念,而对象是具体的.
如果你写了一段代码,没有去使用,那么那个称为"类",当你开始使用的时候,那个就是对象。

如:
  1. 'Demo是一个类
  2. Class Demo
  3. Public Sub ShowInfo()
  4. MsgBox "This is a Demo!"
  5. End Sub
  6. End Class
  7. Dim objDemo
  8. Set objDemo = New Demo
  9. objDemo.ShowInfo()
  10. Set objDemo = Nothing
复制代码
SCripting也是一个对象,是 SCripting.FileSystemObject 的根对象
而 SCripting.FileSystemObject  是由 SCripting 派生的子对象。

[P.S:这些对于学过面向对象语言的人来说比较容易理解。不过如果接触多了这些,也自然会懂的]
作者: Hello123World    时间: 2011-7-25 19:32

本帖最后由 Hello123World 于 2011-7-25 19:33 编辑
SCripting也是一个对象,是 SCripting.FileSystemObject 的根对象
而 SCripting.FileSystemObject  是由 SCripting 派生的子对象。

[P.S:这些对于学过面向对象语言的人来说比较容易理解。不过如果接触多了这些,也自然会懂的]broly 发表于 2011-7-25 18:59

多谢指教,我就一草根……
[ps:这ps p的神奇]
作者: broly    时间: 2011-7-25 19:38

回复 3# Hello123World

没事,慢慢学习,只要肯坚持,总有一天会学有所成的!
你说谁不是从草根出来的
作者: Hello123World    时间: 2011-7-25 19:45


呵呵
作者: wc726842270    时间: 2011-7-25 20:47

其实个人认为函数和过程用好了也是一样的,




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2