面向对象思想
面向对象思想是软件设计开发中最重要的想。一般说到面向对象学过C++的人都知道,甚至很多人都声称精通面向对象,但事实大多数人并不真正的了解面向对象思想。很多人学了C++、用了DELPHI、JAVA,但还是用过程化的思想来编程。 一切都是对象!
面向对象思想是一种软件开发和程序设计技术。所开发的程序是面向对象程序,直接描述客观世界的对象及其相互关系。对象是封装了数据和操作的程序块。所谓封装是为这个程序块建立显示的界面。其它对象只能向这个界面发消息,不能访问内部的私有数据和操作。比如我们要求某人"坐下"(发消息),某人接受消息后调整自己的肌肉、神经使自己坐下(操作),从而改变了他的状态(描述姿态的数据变了)。外界不必过问惊动了几条神经,收缩了哪几块肌肉。因此,内部的数据和实现操作的算法若有改动,对其它程序对象没有任何影响。
封装使程序局部化,易修改、好维护,但许多对象有相同的功能时免不了重复,所以面向对象技术有继承的机制。例如,我们描述了"人"这一对象。人有姓名、年龄、职业、住址等数据和吃饭、乘车、上班等操作。我们再设计一个新对象"中国人"时,它将继承"人"的所有数据和操作,再加上"说汉话"、"写汉字"、"身份证号"等"中国人"特有的数据和操作。这样,设计新对象时只要在原有对象基础上作较少的派生,如果运行无误,便将新对象入库,下次又可继续派生。如从中国人派生出"中国男人"、"中国女人"等。于是,库中各类对象按继承关系可形成一棵倒置的树,分枝不断增加,到一定时候一个新程序要用到的对象类库中全有,只要"摘取"出来就可以直接使用,几乎不用编程。所以说,继承支持高度的软件重用。
此外,由于对象自己操作自己的数据。同一消息不同的对象均以自己的方式响应,使得一种消息可有多种响应方式。这叫多态性。例如,"吃饭"这个消息,"中国人"和"俄国人"响应不同(一用筷子,一用刀叉),按过去的编程方法,要分别编出各自的程序,多态性则使程序增删简化。
封装、继承、多态是面向对象程序的主要特征。正是这些特征使程序安全、可靠、可重用、易维护。把这些思想用于硬件、数据库、人工智能技术、分布式计算、网络、操作系统都显示出其优越性。因而,成为当今新兴的计算机技术。特别是多媒体数据只有与相应的操作相联系才能显现出图、声、像,采用封装数据和操作的办法,有力地促进了多媒体应用技术的发展。 第七章 数据库与编程 数据库编程在编程中占据着极其重要的地位,特别是管理类软件更是离不开数据库,如果做程序员能就不能不懂数据库。
第一节 什么是数据库
顾名思义,数据库就是数据的仓库,是用来存放按一定方式组织起来的可供使用的数据集合。数据库的主要作用是信息检索、数据共享(应用程序)和决策支持。
数据库按不同的方式可划分为多种类型,我们只讨论当前最常用的关系型数据库。关系统型数据库最大的特点就是关系,通过数据之间的关系来存储和使用数据是关系数据库的精华。我们通常按数据库的规模和功能把关系数据库分为桌面型数据库和大型数据库。常用的桌面数据库有ACCESS、MYSQL、FOXPRO、PRADOX等,特点是小巧灵活、方便、以文件来存储数据库表,数据库不能直接建立数据间的关系。
常用的大型数据库主要有SQL SERVER、ORCAL、DB2、SYBASE、INTERBASE等,特点是适于存储大量、复杂的数据,能为数据直接建立复杂关系。