导航栏菜单

[登录]

备案域名交易

老域名购买,已备案域名出售,已备案过期域名查询,老域名注册,已备案域名抢注,老域名转让,万网已备案域名,九江网站建设

用类库进行封装组件

创建自己组件的另一个原因是为了封装。假设你在30个不同的页中使用了相同的代码块,这些代码可以用来从公司的数据库中检索出一些销售信息。你在30个地方使用了完全相同的代码,然后你发现需要修改检索的条件。若是这样的话,你需要在30个不同的地方逐一修改代码。相反,如果你把代码放在了组件中,你就只需要在一个特定的位置修改代码,然后重新编译这个组件,这样所有使用该组件的页将全部被更新。创建自己的组件的另一个原因是功能的封装。当采用了功能封装后,就可以在执行一个复杂且过长的任务时把冗长而复杂的代码放在一个可以单独调用的组件中。这会使代码更容易读且更容易修改。这项技术也可以使新手或开发者从过分复杂的任务中解脱出来。例如,你专攻使用Exchange Server的数据对象的协同使用,并且已掌握了在Exchange里操作文件夹的技巧。你就可以通过ASP应用程序为其他的开发者创建一个封装了这些功能的组件,这会使别人在使用标准的Exchange的任务不再那么复杂。

对变量的操作

在Break模式中可以看到变量的值。最简单的方法是把光标置于这个变量的上边。这是我们就会在一个提示信息里看到那个变量的值。浏览变量的值和位于表格里的对象的属性值的第二种方法是使用Locals窗口。但处于Break模式时,从View菜单里选择Locals窗口。我们会看到Locals窗口。在Locals窗口里我们将看到这个程序里的所有变量的值。你也可以通过调整表格来扩展Me项目,以看到表格里任何一个对象的值。在Locals窗口里也可以改变变量的值。选定这个变量的Value列,输入新值,能查看和改变一个变量的值。计算一个表达式的另一个地方是Immediate窗口,在处于Break模式时,从View菜单里选择Immediate窗口即可。这里Immediate窗口被用来检查变量的值,并且计算表达式的值。注意,为了得到一个变量的值,或者计算一个表达式的结果,需要在变量之前写一个问号。在Immediate窗口里,我们可以改变变量值,并且重新计算表达式的值。假如在子程序之外声明变量,那么这个变量可被ASP文件中的任何脚本改变。假如在子程序中声明变量,那么当子程序每次执行时,它才会被创建和撤销。

项目的创建

一旦在类里创建了方法和属性,甚至在类里书写程序时,就需要测试我们的代码。方法之一是通过编辑组件然后由ASP进行测试,但这意味着必须有扩展环境而且有时会再三进行编辑。另一种方法是通过在VB里创建程序组来正确测试组件。在VB里,程序组不只是一个项目。在这种情况中,我们必须有ActiveX DLL项目和Standard EXE项目。如果要把一个新项目添加到项目组,从File菜单中选择Add Project,选定Standard EXE并点击Open按钮。如果直到现在我们是通过从View菜单中选定Project Explorer来看的话,ActiveX DLL项目和Standard EXE都显示在目录里。注意这个组件项目是粗体显示的。因为它是默认的启动项目。因此如果我们要运行这个代码的话,它将代替我们的测试项目运行。

继承内部类

由于内部类的构造函数必须连到宿主类对象的reference上面,因此当你要继承内部类的时候,事情就点复杂了。难就难在,这里有一个指向宿主类对象的秘密的reference要进行初始化,而在派生类看来,它已经没有默认对象可连了。答案就是,使用一种专用的语法来明确地建立这种关系。继承只是内部类,而不是它的宿主类,但是等到要创建构造函数的时候,默认的构造函数玩不转了,你必须传给它宿主类对象的reference。此外,你还必须在构造函数里面使用一种语句,这样才能提供那个必须的reference,而程序也才能编译通过。

引用宿主类的对象

如果你需要获取指向宿主类对象的reference,那么你可以在宿主类名字的后面加一个点再加this来表示宿主类。比如类Sequence.SSelctor里面的任何方法,都可以用Sequence.this来获取它所保存的宿主类Sequence的reference。它会自动返回正确的类型。(这个类型是已知的,编译的时候就会做检查,因此不会给程序的运行造成额外的负担。)有时你还要让别的对象创建它的内部类的对象。要想这么做,你就必须在new表达式里面给出宿主类对象的reference。如果想直接创建内部类对象,你就不能想当然的用一般的来表示宿主类的名字,相反,你必须使用宿主类对象来创建内部类的对象。

网站建设编程语言Java的系统表达和类库的利用

Java之所以能如此成功是因为它是针对当今程序员所面临的很多问题而设计的。Java最重要的一个目标是为了提供编程的效率。效率的提供有很多方面的因素,但是这个语言的实际目的就是为了超越它之前语言,并且程序员提供更大的便利。根据程序设计出来的类能把问题讲得更清楚,这就是说,当你编程的时候,你是在用问题空间的术语,而不是用解决空间里的计算机的术语,来描述解决方法。你用了更高层次的思想来处理问题,于是能用一行代码完成更多的工作。所以表达简单的另一个好处是便于维护,如果报告是可信的话,维护阶段的成本在整个软件生命周期中,占了非常大的比例。如果程序易于理解,那么也易于维护。这也有助于创建和维护文档。

网站建设中标准Java异常

Java的throwable类概括了所有能被当作异常抛出来的东西。Throwable主要分成两类(分成两类的意思就是从它那里继承两个类)。Error表示编译时错误和系统错误,这些错误都不需要你去费心捕捉(除非特殊情况)。Exception是所有Java标准类库的方法、你自定义的方法、以及程序运行发生意外时能抛出的异常的基类。因此Java程序员们最感兴趣的还是Exception。要想对异常有个大致的了解,最好的办法是浏览Java的HTML文档。看一遍还是值得的,这样就会对各种异常有个感性认识,但是次数多了你就会发现,异常同异常之间除了名字之外没什么不同。此外,Java中异常的数量仍然在增长之中;在书里罗列这些异常也是毫无意义的。而且你拿到第三方的新类库里,大概也有它自己的一套异常。对异常来说,最重要的就是理解它的概念,以及应该怎样运用异常。

网站建设中用finally进行清理

你会时常碰到一些“无论try区块有没有抛出异常,程序都必须执行的代码”。一般来说这些代码都是进行恢复内存之外的操作的(因为恢复内存是垃圾回收器的活)。要达到这个效果,你可以在异常处理程序之后使用finally子句。Java异常会阻止程序回到异常抛出的地方恢复执行。如果你把try区块放进一个循环,你就能构建一个程序运行之前必须满足的条件了。你也可以在循环里加上static的计数器,或其它什么东西,让它退出之前多试几种方法。这样你就能把程序的强壮性就能更上一个台阶。有没有垃圾收集器并且不会自动调用拆构函数的语言里,finally是非常重要的,因此这样一来不论try区块都做了些什么,程序员都能保证释放内存了。但是Java有垃圾收集器,所以释放内存实际上不是什么问题,更何况它还没有拆构函数可供调用。当你需要把内存以外的东西设置到原先状态的时候,finally就显得很有必要了。它可能是用来清理一个打开的文件或网络链接,画在屏幕上的什么东西,甚至是模拟的程控开关。

网站建设中Java里的寄存器、栈和堆

寄存器是反应最快的存储,因为它所处位置不同,在处理器里。不过寄存器的数量非常有限,所以它是由编译器分配的。你非但不能直接控制寄存器,甚至连它存在的证据也找不到。栈位于常规内存区里,处理器可以通过栈指针对它进行直接访问。栈指针向下移就创建了新的存储空间,向上移就释放内存空间。这是仅次于寄存器的最快、最有效率的分配内存的方法。由于Java编译器必须生成能控制栈指针上移和下移的代码,所以程序编译的时候,那些将被存储在栈中的数据的大小和生命周期必须是已知的。这使得程序的灵活性收到了限制,所以尽管Java把某些数据——特别是对象的reference存放在栈里,但对象本身并没有放在栈里。

网站建设编码时用reference操控对象

每种编程语言都有它自己的操控数据的方法。有时程序员必须时刻记着他们正在进行何种操控。你是在直接操控对象呢,还是通过一些间接的表示方法,用特殊的语法进行操控呢?Java把这一切都简化了,你可以用一种前后一致的语法,把一切都当对象来处理。虽让你把一切都当作对象,但实际上你所操控的那个标识符是对象的reference。你可以把它想成一个带遥控器的对象。只要你还拿着reference,你就可以随便操控对象,但是进行调换对象的时候,你操控的实际上是那个reference,然后再让它去和那个对象打交道。
分页:«91011121314151617181920212223»

Powered By 备案域名交易 .Theme By 备案域名 Copyright www.jxpxw.com.cn. Some Rights Reserved.