面向对象应用程序开发——使用VisualBasic.NET

面向对象应用程序开发——使用VisualBasic.NET"

作者:天宏工作室
ISBN:9787302083344
定价:¥64
字数:千字
页数:
出版时间:2004.05.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书是Thomson Course Technology 面向对象开发系列教材的第2本。通过本书读者可以学习面向对象分析和设计、面向对象编程等概念,以及三层软件设计模型。本书兼顾介绍了Visual Basic.NET的基础知识和该语言的面向对象特征。读者通过本书的学习可以掌握使用VB.NET语言设计和实现完整业务应用程序的知识。

前言

    本书介绍了使用Microsoft Visual Basic.NET和Visual Studio.NET集成开发环境(IDE)设计三层的面向对象应用程序的知识。全书着重介绍如何为CIS和MIS学习者和从业者开发业务信息系统。本书读者应具有初步的计算机编程经验,但并不要求必须具备面向对象编程和使用VB或VB.NET语言编程的经验。因此,本书将引导这些具有初步编程知识的读者首先学习VB.NET的语法和面向对象的概念,直到最后可以运用图形用户接口(GUI)和相关数据库设计三层的面向对象的VB.NET应用程序。

    面向对象的方法对于信息系统开发的重要性日益显著,Microsoft已发布了VB.NET,它是一种可以用来开发真正面向对象应用程序的语言。虽然许多介绍VB.NET编程的图书随处可见,但多数图书涉及的只是初级或高级编程技术,而没有突出介绍使用面向对象的方法进行系统分析、设计的面向对象解决方案。本书采用循环反复的方法对一个系统进行了分析、设计、实现,从而展示了面向对象程序的设计过程。基于统一建模语言(UML)的面向对象的模型和技术被广泛应用,所有VB.NET程序设计范例和练习都是基于三层设计方法。在了解、研究了业务案例后,开发了一个实用案例,画出类图,设计并实现问题域类和GUI类,以及与相关数据库交互的数据访问类。最后,这一业务应用程序的一部分通过Web Form和ASP.NET连接到网络。在这一过程中,读者在提高自己的VB编程技术的同时,也能够逐渐地运用面向对象的方法进行系统开发。

本书读者对象

    多数设有CIS和MIS专业的大学都开设了面向对象的程序开发课程,它们以不同的方法介绍了面向对象的编程和面向对象的开发。本书采取非常灵活的编排方式以适应不同读者的需求。学习通过多种语言编程和MIS课程的学生可以将本书作为一本面向对象开发的初级教程。本书还适用于那些已经学习了初级编程概念的学生(语言的种类并不重要)。本书是关于系统开发的教程,介绍了VB.NET编程语言、面向对象的概念和技术、三层程序

设计、UML和迭代开发。当学生随后学到分析、设计和数据库管理课程时,他们将对整个面向对象开发过程有更深的了解。

    本书同样可以被学过初级VB.NET编程,但没有重点学习过面向对象开发的学生用做高级开发教程。他们可以略过初级VB.NET语法和IDE内容(第2、3、4章),将更多时间用于面向对象分析和设计以及第5章的UML。大多数高级读者可迅速略读本书,然后完成更为复杂的业务系统工程。

    有些读者已经学过了UML以及使用面向对象方法分析、设计系统的课程。本书对于这些读者也适用。他们在面向对象分析和设计上可以少花些时间,把精力放在实现上。对于有使用UML经验的读者,本书向他们介绍了面向对象模式的实现方式,这是学生和程序员真正希望掌握的知识。本书将为许多读者提供一种完美的编程体验。

本书特色

    为了向读者提供通俗易懂的学习环境,本书具有许多实用性特色。有些特色对本书的重点——面向对象分析和设计的内容是很重要的,其中包括如下。

    业务信息系统范例:分析、设计、编程所用的范例侧重于与CIS和MIS专业的学生兴趣相关的业务问题。

    统一建模语言(UML):UML模型被广泛用于描述示例的系统要求,包括用例图、类图和序列图。然后,图例被用来指导系统示例的设计和实现。

    循环开发:全书强调了一种现实的循环开发方法。本书采用循环反复的方法进行编排,旨在通过循环开发的过程使读者对如何分析、设计、实现程序留下清晰的印象。

    三层设计:面向对象设计方法运用三层设计模式,将系统分成图形用户接口类、问题域类、数据访问类三层。本书的编排基于三层设计思路,而且每次设计都重复这三层。    

    基于Windows的应用程序设计和基于Web的开发:用于分析和设计的方法适用于VB.NET应用程序和基于Web的ASP.NET的开发。

    Bradshaw Marina案例研究:全书运用了一个完整的案例进行研究。该案例难度适中,可以使读者体会到系统工程从构思、使用UML建模、到迭代开发、三层设计的全过程。

本书概览

    本书分5部分16章。第1章是对全书的全面概述。本书5部分分别是:

    第1部分:面向对象和VB.NET基本原理

    第2部分:开发问题域类

    第3部分:开发图形用户接口类

    第4部分:开发数据访问类

    第5部分:开发三层应用程序

    使用本书作为面向对象编程教材的主要优点就是可以为面向对象程序开发的全过程打下一个坚实的基础。三层设计方法始终是本书重点,因此对于图形用户接口类、问题域类、数据访问类等知识从一开始就介绍得很清晰。每个示例的模型都用UML来表现。

    第1章是关于面向对象概念的概述和VB.NET的介绍。第5章中的Bradshaw Marina案例研究用来说明这些概念和UML模型。第6章从建立问题域类的模型开始,以符合循环开发和三层设计的思路,然后实现并测试问题域类。接下来,在第10~12章加入图形用户接口类作为与问题域类互动的平台。在第13~14章加入数据访问类,使数据可以存储在相关数据库中。最后在第15章,使用三层设计方法将它们组成一个完整的系统模型。全书基本上以Windows应用程序为重点,而在第16章介绍了如何用Web Form和ASP.NET将部分Bradshaw Marina应用程序连接到网络。

    在本书最后,学生需要实现范例所示的工作系统中的重要部分,包括Windows应用程序和基于Web的应用程序。除了示例以外,实习练习和试验还为学生提供了实现系统附加部分的机会。

    本书每章都包括下面的部分来强化读者的学习体验。

    本章学习目标:每章开始都有一个学习本章需要掌握的重要概念列表。通过该表可以迅速把握该章重要内容,有助于学习。

    实习练习:当每章中出现新概念的时候,循序渐进的指导将使你学会运用所学概念。在每章学习中,将停下复习重要概念,在课堂上或课后完成练习。

    本章示例:每章都有一些与VB.NET相关的示例,并对它们进行详细解释,以演示该章所学的概念。所有章节示例的代码都可从www.tupwq.net下载。

    本章小结:每章末尾都有关于该章概念的总结。这些总结对于回顾、复习该章重要内容很有帮助。

    复习题:每章结束后的评估由约15~20道复习题组成,有助于强化每章所学习的主要内容。这些复习题可以检测学生对所学概念是否掌握,内容是否理解。

    讨论题:每章还包括一些可用作课堂讨论或课后作业的讨论题。

    实习项目:章后项目提供了一个运用该章所学概念的机会。

教学资料

    在使用本书进行课堂讲授时,可使用下列补充资料。本书所有教学资料都包含在教师光盘上。

    教师电子手册:本书配套的教师手册包括以下内容:

    辅助课堂准备的附加指导材料,包括课堂主题建议。

    每章习题答案,包括复习题、讨论题和实验。

    Exam View:本书附赠Exam View,这是一个功能强大的软件包。教师可以用它来创建并管理书面考试、在线考试(基于局域网)、Internet考试。Exam View系统包含了数千个与本书内容相关的问题,学生可以用它制作详细的学习指导,包括供以后复习之用的页码索引。基于计算机和Internet的考试部分可以让学生在自己的计算机上进行考试,自动改卷,为老师节省了时间。

    PowerPoint演示文稿:本书每章都有用Microsoft PowerPoint制作的幻灯片,可以作为教师讲课的辅助工具,也可以供学生在线复习使用,或打印出来作为分发资料。教师可以向幻灯片中加入向学生介绍的其他主题。

    数据文件;所有实习练习和实验所必需的数据文件都可以在Course Technology的网站www.course.com和教学资料光盘上找到。

    答案文件:每章的复习题、实习练习和实验的答案可以在教学资料光盘和Course Technology的网站www.course.com上找到,得到答案需要使用密码。

    远程学习:Course Technology在Web Course Technology和Blackboard上提供了在线的试题库。同时提供了Course Technology自己的教程提高工具——MyCourse 2.0,以尽可能提供完整的和动态的学习经验。教师可以随意地在线或离线使用教程。要获得更多的关于如何使用在线试题库的信息,可以与当地的Course Technology销售代表联系。

    使用本书作为教材的教师,可以访问www.tupwq.net下载“教师教辅资料申请表”。

目录

第1部分  面向对象编程与VB.NET基础知识

第1章  V8.NET面向对象的系统开发

1.1  理解OO开发和VB.NET

1.1.1  面向对象编程

1.1.2  Microsoft.NET架构和VB.NET

1.1.3  面向对象的分析和设计

1.2    解面向对象的概念

1.2.1  对象、属性和方法

1.2.2  对象交互和消息

1.2.3  封装和信息隐藏

1.2.4  类、实例和关联

1.2.5  继承和多态

1.3  认识OO开发的优点

1.3.1  对象更加自然

1.3.2  各类对象都能重用

1.4  学习OO开发

1.4.1  三层设计介绍

1.4.2  第1部分:面向对象和VB.NET的基本原理

1.4.3  第2部分:创建问题域类

1.4.4  第3部分:创建GUI类

1.4.5  第4部分  创建数据访问类

1.4.6  第5部分:创建三层应用程序

1.5  本章小结

1.6  复习题

1.7  讨论题

1.8  项目

第2章  Visual Studio.NET开发环境

2.1  Visual Studio.NET开发环境

2.1.1  开始VB.NET编程

2.1.2  MDE

2.1.3  解Start Page窗口

2.2  使用VB.NET创建工程

2.2.1  理解VB.NET组织程序的方式

2.2.2  使用文本编辑器

2.2.3  修改文本编辑器设置

2.2.4  重命名Modulel.vb

2.2.5  设置启动对象

2.3  编译和运行VB.NET程序

2.4  使用可视化窗体设计器

2.4.1  创建Windows应用程序

2.4.2  自定义窗体外观

2.4.3  在窗体上增加控件

2.5  调试工具

2.5.1  打开调试器

2.5.2  设置断点

2.6  帮助工具

2.6.1  获取帮助

2.6.2  Help菜单上的Contents选项

2.6.3  Help菜单上的Index选项

2.6.4  Help菜单上的Search选项

2.6.5  Help菜单上的Dynamic Help选项

2.6.6  上下文帮助

2.7  本章小结

2.8  复习题

2.9  讨论题

2.10  项目

第3章  VB.NET编程基础

3.1  VB.NET引言

3.2  编写VB.NET模块

3.2.1  使用VB.NET的变量和数据类型

3.2.2  声明和初始化变量

3.2.3  改变数据类型

3.2.4  使用常量

3.2.5  使用引用变量

3.2.6  创建VB.NET的变量模块

3.3  VB.NET的数学运算功能

3.4  编写条件控制语句

3.4.1  If语句

3.4.3  Select Case语句

3.5  循环结构

3.5.1  Do While循环

3.5.2  Do Until循环

3.5.3  过检查循环

3.5.4  For Next循环

3.5.5  嵌套循环'

3.6  声明和访问数组

3.6.1  一维数组

3.6.2  多维数组

3.7  本章小结

3.8  复匀题

3.9  讨论题

3.10  项目

第4章  使用VB.NET的类编程

4.1  使用VB.NET的命名空间和类

4.2  使用String类

4.3  创建String数组

4.4  使用Array List类

4.5  使用日期

4.6  格式化数值输出

4.7  使用MessageBox类

4.8  显示窗体

4.9  本章小结

4.10  复习题

4.11  讨论题

4.12  项目

第5章  面向对象的分析与设计

5.1  学习OOA和OOD

5.2  解统一建模语言

5.2.1  建立并说明用例图

5.2.2  建立并说明类图

5.2.3  建立并说明序列图

5.3  OO开发中的三层设计

5.4  Bradshaw Marina个案研究介绍

5.4.1  Bradshaw Marina的背景

5.4.2  确定Bradshaw用例和情形

5.4.3  确定Bradshaw问题域类

5.4.4  建立Bradshaw序列图

5.5  本章小结

5.6  复习题

5.7  讨论题

5.8  项目

第2部分  开发问题域类

第6章  编写问题域类定义

6.1  VB.NET命名惯例

6.2  开发PD类定义

6.3  定义属性

6.4  编写方法和特性

6.5  测试PD类

6.6  创建实例

6.7  编写构造函数方法

6.8  编写TELLABOUTSELF方法

6.9  编写作为窗体的测试器类

6.10  本章小结

6.11  复习题

6.12  讨论题

6.13  项目

第7章  在问题域类中添加功能

7.1  编写一个新的问题域类定义

7.2  创建自定义方法

7.3  编写类变量和类方法

7.4  编写重载方法

7.4.1  重载构造函数

7.4.2  重载自定义方法

7.5  异常处理

7.5.1  slipId的数据验证代码

7.5.2  slipWidth的数据验证代码

7.5.3  连接异常

7.6  本章小结

7.7  复习题

7.8  讨论题

7.9  项目

第8章  理解继承和接口

8.1  实现Boat的一般/特殊层次结构

8.1.1  使用Windows窗体测试Boat超类

8.1.2  使用Inherits关键字创建Sailboat子类

8.1.3  测试Sailboat子类

8.1.4  添加第二个子类--Powerboat

8.2  解抽象类和最终类

8.2.1  使用MustInherit关键字

8.2.2  使用NotInheritable关键字

8.3  重写超类方法

8.3.1  重写Boat TellAboutSelf方法

8.3.2  重写和调用超类方法

8.3.3  测试两个Method-Overriding方法

8.3.4  重写、多态和动态绑定

8.4  理解私有访问和保护访问

8.5  介绍Lease子类和抽象方法

8.5.1  向Lease中添加一个抽象方法

8.5.2  实现AnnualLease子类

8.5.3  实现DailyLease子类

8.5.4  测试AnnualLease类和DailyLease类

8.6    解并使用接口

8.6.1  创建一个VB.NET接口

8.6.2  实现更多的接口

8.7  使用自定义异常

8.7.1  定义LeasePaymentException

8.7.2  抛出一个自定义异常

8.7.3  测试LeasePaymentException

8.8  了解Object类和继承

8.9  本章小结

8.10  思考题

8.11  讨论题

8.12  项目

第9章  实现关联关系

9.1  在Bradshaw Marina类图中确认关联关系

9.2  在一对一关系中关联VB.NET类

9.2.1  修改Customer类

9.2.2  修改Boat类

9.3  在Boat类中添加功能

9.4  Dock和Slip的关联:一对多的关联关系

9.4.1  介绍Dock类

9.4.2  使Slip类与Dock相关联

9.4.3  测试Dock与Slip的关联关系

9.5  把顾客Boat和Customer类添加到Slip例子中

9.6  创建并使用关联类--Lease

9.7  本章小结

9.8  复习题

9.9  讨论题

9.10  项目

第3部分  开发图形用户接口(GUI)类

第10章  VB.NET GUI组件一览

10.1  介绍VB.NET中的GUI类

10.2  理解VB.NET中生成的代码

10.3  处理VB.NET中的事件

10.4  使用附加的GUI控件

10.4.1  回顾Form、Button和Label

10.4.2  使用文本框和组合框

10.4.3  使用复选框和单选按钮

10.4.4  使用组群框和面板

10.4.5  使用列表框和复选列表框

10.4.6  使用树形查看器和树形节点

10.4.7  使用时间拾取器

10.4.8  使用标签控件和标签页

10.4.9  使用主菜单和菜单项

10.5  本章小结

10.6  复习题

10.7  讨论题

10.8  项目

第11章  使用问题域类的多个窗体

11.1  开发与PD类交互的GUI类

11.1.1  向生成的代码添加变量

11.1.2  处理事件

11.2  模拟与数据库的交互作用

11.2.1  创建顾客数组列表

11.2.2  处理事件

11.2.3  查找顾客

11.2.4  更新顾客

11.3  开发与多个PD类交互的GUI类

11.3.1  处理事件

11.3.2  编写ClearForm方法

11.3.3  编写btnAdd_Click方法

11.3.4  编写AddSailboat方法

11.3.5  编写AddPowerboat方法

11.4  在集成系统里操作多个窗体

11.4.1  模拟数据访问类

11.4.2  理解CustomerData类

11.4.3  集成多个窗体

11.4.4  设计主菜单

11.4.5  查找顾客

11.4.6  添加顾客

11.5  开发导航PD关联关系的GUI类

11.5.1  理解CustomerAndBoatData类

11.5.2  设计GUI顺序

11.5.3  添加顾客

11.5.4  添加船

11.5.5  查找顾客和船

11.6  本章小结

11.7  复习题

11.8  讨论题

11.9  项目

第12章  Web窗体、HTML和ASP.NET

12.1  了解Internet和Web基本原理

12.1.1  静态和动态的Web页面

12.1.2  安装IIS服务器

12.1.3  处理Web

12.2  回顾HTML基础

12.2.1  研究HTML文档

12.2.2  处理图像和超链接

12.3  使用HTML窗体

12.3.1  使用窗体控件

12.3.2  传统的ASP Web的开发

12.4  使用ASP.NET开发Web页面

12.4.1  从内容中分离代码

12.4.2  使用HTML、HTML服务器控件和ASP.NET服务器控件

12.4.3  了解ASP.NET页面事件生存周期

12.5  创建ASP.NET Web应用程序

12.6  创建ASP.NET调查应用程序

12.6.1  使用后台编码窗口

12.6.2  创建结果Web页面

12.6.3  使用ASP.NET验证控件

12.6.4  向调查Web页面添加验证控件

12.6.5  使用带有PD类的ASP.NET

12.6.6  移动Web应用程序并且解决Web问题

12.7  本章小结

12.8  复习题

12.9  讨论题

12.10  项目

第4部分  开发数据访问类

第13章  数据访问类和持久性介绍

13.1  研究VB.NET输入与输出

13.1.1  顺序文件处理

13.1.2  StreamWriter与StreamReader的一般格式

13.2  添加工具栏和对话框控件

13.2.1  ImageList和工具栏控件

13.2.2  工具栏控件

13.2.3  确定工具栏按钮的单击

13.2.4  向应用程序中添加对话框

13.2.5  保存文件的对话框

13.2.6  OpenFile对话框

13.2.7  添加颜色对话框

13.2.8  FontDialog控件

13.3  对象的持久性

13.4  设计数据访问类

13.4.1  数据访问方法

13.4.2  查找顾客

13.4.3  添加顾客

13.4.4  修改顾客

13.4.5  删除顾客

13.4.6  附加的数据访问方法

13.5  与数据访问类通信

13.5.1  查找顾客

13.5.2  添加顾客

13.5.3  修改顾客

13.5.4  删除顾客

13.5.5  附加问题域方法

13.5.6  实现顺序文件的永久性

13.5.7  初始化方法

13.5.8  中断方法

13.5.9  查找方法

13.5.10  AddNew方法

13.5.11  更新方法

13.5.12  删除方法

13.5.13  GetAll方法

13.5.14  DuplicateException和NotFoundException类

13.5.15  实现顺序文件的CustomerDA测试

13.5.16  用对象串行化实现持久性

13.6  在VB.NET中运用关系数据库

13.6.1  结构化查询语言

13.6.2  在VB.NET中访问DBMS

13.6.3  VB.NET的数据库访问类

13.6.4  VB.NET和DBMS的例子

13.6.5  用数据库实现对象持久性

13.6.6  初始化方法

13.6.7  中断方法

13.6.8  查找方法

13.6.9  添加方法

13.6.10  修改方法

13.6.11  删除方法

13.6.12  GetAll方法

13.6.13  用数据库实现的CustomerDA的测试

13.7  本章小结

13.8  复习题

13.9  讨论题

13.10  项目

第14章  创建更为复杂的数据库应用程序

14.1  实现数据库应用程序的一对一关系

14.1.1  理解CustomerAndBoat数据库

14.1.2  使用SQL连接数据库中的表

14.1.3  在数据库中建立公共连接

14.1.4  修改Customer类

14.1.5  介绍BoatDA类

14.1.6  理解BoatDA类的Initialize和Terminate方法

14.1.7  理解BoatDA类的Find和GetAll方法

14.1.8  理解BoatDA类的AddNew方法

14.1.9  理解BoatDA类的Update和Delete方法

14.1.10  修改船只类,使之与BoatDA类协同工作

14.1.11  修改CustomerDA类

14.1.12  理解CustomerDA类的Find和GetAll方法

14.1.13  理解CustomerDA类的AddNew方法

14.1.14  理解CustomerDA类的Delete和Update方法

14.1.15  测试新的CustomerAndBoatDatabase应用程序

14.2  在数据库应用程序中实现一对多的关系

14.2.1  理解DockAndSlipDatabase中的数据表

14.2.2  建立DockAndSlipDatabase数据库的公共连接

14.2.3  修改Dock和Slip类

14.2.4  介绍DockDA类

14.2.5  理解DockDA类的Find方法

14.2.6  理解DockDA类的GetAll方法

14.2.7  测试DockAndSlipDatabase应用程序

14.3  应用双亲-孩子(分等级的)数据集关系

14.4  在数据库应用程序中实现关联类

14.4.1  理解CustomerLeaseSlipDatabase中的数据表

14.4.2  建立CustomerLeaseSlipDatabase数据库的连接

14.4.3  修改Customer类

14.4.4  修改Lease和AnnualLease类

14.4.5  修改Slip类

14.4.6  介绍SlipDA类

14.4.7  介绍AnnualLeaseDA类

14.4.8  理解AnnualLeaseDA类的Find方法

14.4.9  理解AnnualLeaseDA类的AddNew方法

14.4.10  测试CustomerLeaseSlip数据库应用程序

14.5  本章小结

14.6  复习题

14.7  讨论题

14.8  项目

第5部分  部署三层应用程序

第15章  装配三层Windows应用程序

15.1  回顾三层设计

15.2  结合PD类、DA类和GUI

15.2.1  回顾Customer问题域类

15.2.2  回顾Customer数据访问类

15.2.3  修改FindCustomer GUI

15.3  使用多个GUI并向数据库中添加实例

15.3.1  回顾MainMenu GUI

15.3.2  回顾AddCustomer GUI

15.3.3  修改FindCustomer GUI

15.4  使用带有问题域类的GUI

15.4.1  回顾第14章中的Customer、Boat PD和DA类

15.4.2  修改MainMenu GUI

15.4.3  修改FindCustomer GUI

15.4.4  回顾第11章中的AddCustomer GUI

15.4.5  修改AddBoat GUI

15.5  本章小结

15.6  复习题

15.7  讨论题

15.8  项目

第16章  装配三层Web窗体应用程序

16.1  理解Web应用程序的"状态"概念

16.1.1  维持状态

16.1.2  理解Application状态和Application对象

16.1.3  理解Session状态和Session对象

16.1.4  使用Cookies

16.1. 5  利用ASP.NET会话状态控件

16.2  创建ASP.NET用户控件

16.3  利用数据绑定技术

16.3.1  将数据绑定到下拉列表

16.3.2  理解DataGrid控件

16.4  为Bradshaw Marina开发一个Web应用程序

16.4.1  Bradshaw Marina Web站点设计

16.4.2  设计Bradshaw Marina主页

16.4.3  研究默认Web窗体的代码

16.4.4  设计AddCustomerBoat Web窗体

16.4.5  AddCustomerBoat Web窗体的代码

16.4.6  设计Startup Web窗体

16.4.7  设计AboutBradshawMarina Web窗体

16.5  介绍XML和Web服务

16.5.1  XML应用程序例子

16.5.2  理解Web服务

16.5.3  为Bradshaw Marina开发Web服务

16.6  本章小结

16.7  复习题

16.8  讨论题

16.9  项目

术语表

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个