VBA MODULE & CLASS MODULE

原创 2011年01月13日 15:58:00

在实际的编程中,什么时候使用类,选择标准的代码模块呢?

类和标准代码模块的不同主要是概念上的.用户要完成的工作主要是针对于某个或几个特定的对象,那么就可以使用类.对象的动作就是类的方法,对象的属性必须用类的属性过程来实现.反之,如果用户有一个过程是针对通常的一组事务,而不某些特定的对象,那么这个例程最好在标准的代码模块中实现.而且类模块和标准模块的不同点还在于存储数据方式的不同.标准模块的数据只有一个备份,这意味着标准模块中的一个公共变量的值改变以后,在后面的程序中再读取该变量时,它将得到同一个值,而类模块的数据,是相对于类实例(也就是由类创建的每一个对象)而独立存在的.同样,标准模块中的数据在程序作用域内存在,也就是说,它存在于程序的存活期中;而类实例中的数据值存在于对象的存活期,它随对象的创建而创建,随对象的撤销而消失.最后,当变量在标准模块中声明为Public时,则它在工程中任何地方都是可见的;而在类模块中的Public变量,只有当对象变量含有对某一类实例的引用时才能访问.
一般来说,在如下两种情况下使用类:
(1)用户想用类的方法和属性来提高代码的封装性;
(2)用户希望创建大量性质相近的对象.
在其他的情况下,一般使用标准的代码模块.

相关文章推荐

STAF 4个重要的Class 和 2个Module

3.1 STAFHandle class Description This class is the primary class used to communicate with STAF.  T...

Ruby module和class的理解分析

一个class就是一系列方法的集合,这些方法将操作对象的状态(即对象的实例变量) module.rb: require './project' #require porject.rb...

program interface module class 区别

来自于大牛 Specman Verification  SV is a fact of life and is here to stay. You can feel happy or sad ...

ES6入门 —— Class和Module

一、ClassES6引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。 // 定义类 class Point() { constructor...

pexpect overview---module,class,Function,Data

Pexpect is a Python module for spawning child applications and controlling them automatically. Pexp...

ES6--Class、Module及常用特性

写到这里,ES6的所有语法基本已全部描述,有彩蛋、也有单纯的语法糖。里面大多数的语法也可用通过ES5去shim(除了Proxy)。在Node6+以上,几乎所有的ES6语法被支持,前端可通过Babel6...

【ES6学习】— (6)class定义类语法与Module模块化简介

ES6中提供了类似于传统面向对象语言的Class类概念来定义类用来创建对象,使得创建对象的方式更加简便。同时也在语言层面提供了Module模块机制来实现模块化,有利于开发大型复杂的项目。本篇笔记主要介...
  • Ahri_J
  • Ahri_J
  • 2016年11月01日 20:37
  • 257

使用OCaml的Functor与First class module

假设我们已经有啤酒与威士忌两个模块: module Beer = struct       type t = BEER        let pour () =             let...
  • sw2wolf
  • sw2wolf
  • 2011年11月24日 11:09
  • 1090

Storyboard Custom Class module

**Unknown class xxxController in Interface Builder file.**
  • liuwin7
  • liuwin7
  • 2016年07月15日 14:09
  • 925

ImportError: No module named fcntl

  • 2017年11月15日 16:51
  • 469B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VBA MODULE & CLASS MODULE
举报原因:
原因补充:

(最多只允许输入30个字)