I. 面向对象编程
1 面向对象的概念
- 中心思想:将关注点置于对象(Object)本身,对象的构成要素包含对象的行为及操作。通过把组件拼装到一起构建程序。
在 C 语言中,结构体是数据的集合,它将数据捆绑在一起,使得我们可以将这些数据看作是一个整体。而对结构体中的数据进行操作的函数却写在了结构体的外部。然而在面向对象编程中,将表示事物行为的函数也放入了这个整体,这就形成了对象的概念,使得这个整体既能描述属性,又能描述行为。
- 意义:面向对象编程能够提升程序的开发效率和可维护性。面向对象编程适用于大型程序的开发。
2 面向对象编程的设计思路:建模
通过“这个是由什么样的对象构成的呢?”这样的观点来分析,将现实世界的各种各样的活动拆分为一个一个对象,然后转化为程序。
- 主要步骤
- 组件化:将由若若干个对象构成的集合的现实世界分割成若干个组件。
- 省略化:将组合成实现世界的组件中非关键组件进行省略,专注于涉及核心功能和属性的重要组件。
- 展示建模结果:UML(Unified Modeling Language,统一建模语言)
9种常见的UML图:
3 对象间的消息传递
概念:调用某个对象所拥有的函数。程序可以通过由一个对象去调用另一个对象所拥有的函数,从而运行起来。
用 UML 中的“时序图”和“协作图”表示程序的运行过程。
4 面向对象的三个基本特性
特性 | 描述 | 意义 |
---|---|---|
继承(Inheritance) | 通过继承已存在的类所拥有的成员而生成新的类。被继承者与继承者之间称为父类和子类的关系。 | 通过继承能够高效地生成和修正类。 |
封装(Encapsulation) | 在类所拥有的的成员中,隐藏掉那些没有必要展现给该类调用者的成员。 | 类可以被当作黑盒,变成易于使用且便于维护的组件。 |
多态(Polymorphism) | 针对同一种消息,不同的对象可以进行不同的操作。 | 减少程序员的记忆量。 |
5 类的三种使用方式
- 仅调用类中的个别成员(变量、方法)
- 在类的定义中包含其他的类(这种方法被称为组合)
- 通过继承已存在的类从而定义出新的类
II. 数据库
1 数据库的概念
数据库(Database)就是数据(Data)的基地(Base)。把数据存储到计算机中以后,为了将其整理得易于使用,就不得不考虑其存储方式。
- 两种类型:
- 卡片型数据库:适用于想要实现小规模的数据库的情况。
- 关系型数据库(Relational Database):数据被拆分整理到多张表中,同时表与表之间的关系也可以被记录下来。适合存储大规模数据。在数据修改和保存上面效率高且占用空间小。
2 数据库的构成
-
数据库系统三要素:数据文件、DBMS(Database Management System,数据库管理系统)、应用程序。
-
数据库系统的种类
- 独立型系统:三个要素全部部署在一台计算机上。
- 文件共享型系统:数据文件在一台计算机上,并且使数据文件被部署了DBMS和应用程序的多台计算机共享。
- 客户端/服务器型系统:把数据文件和DBMS部署在一台或多台计算机上(服务器),然后用户从另外一些部署应用程序的计算机(客户端)访问。
- Web型系统:服务器与客户端之间用互联网连接起来。
3 设计数据库
- 数据库基本概念:
- 记录(Record):录入到表中的每一行数据。
- 字段(Field):构成一条记录中的各个数据项所在的列;字段有时候也被称为列或属性。
- 键:用于设定表和表之间的关系,键有主键和外键之分。
- 主键:每个值都能唯一标识一条记录的字段。
- 外键:表和表之间建立关系而在表中添加的、其他表主键的字段。
- 设计数据库四步:
- 明确数据和其属性:知道需要哪些数据以及数据的类型。
- 拆表实现规范化:将一张大表分割成多张小表,然后在小表之间建立关系,从而达到整理数据库结构的目的。
意义:避免在一个数据库中重复存储相同的数据。
- 设置主键和外键:在各个表中添加一个名为主键(Primary Key)的字段,该字段的值能唯一标识表中的一条记录。
外键:外键是来自另外表的主键,对于该表来说是外键。
建立表与表之间关系的时候,如果当出现多对多关系时,将多对多关系分解成两个一对多关系,加入的这张表称为连接表(Link Table)。
- 设置参照完整性和索引:
- 参照完整性:勾选设置实施参照完整性,能够有效避免数据被随意删除的情况发生。
- 设置索引:提高数据检索的效率
索引表:一种数据结构,存储着字段的值以及字段所对应记录的位置。
只需对那些需要频繁检索和排序的字段才设置索引。
4 设计用户界面
至少必须包括操作数据库的四大类——CRUD
(Create 插入、Refer 获取、Update 更新、Delete 删除)
5 查询语言:SQL
-
概念:SQL(Structured Query Language 结构化查询语言)是从应用程序向DBMS发送命令以对数据库进行CRUD操作的语言。
-
SQL的主要语句:
语句 SELECT insert UPDATE DELETE 与CRUD的对应关系 Create —— Update Delete -
在 Windows 应用程序中,向 DBMS 发送 SQL 语句时,一般情况下使用被称为数据对象(Data Object)的软件组件。
6 事务控制
- 事务(Transaction):由若干条 SQL 语句构成,表示对数据库一系列相关操作的集合。
- 事务控制(由DBMS处理)的主要操作:
- BEGIN TRANSACTION语句,开启事务。
- COMMIT语句,提交事务。
- ROLL BACK语句,事务回滚。
- 事务控制的意义:在事务进行中发生问题时,把数据库中的数据恢复到事务开始前的状态。