二次开发初级培训班培训讲义.docVIP

  • 1
  • 0
  • 约4.95万字
  • 约 49页
  • 2018-02-21 发布于河南
  • 举报
二次开发初级培训班培训讲义

第一讲 基于WINDOWS编程的基础知识 1.引言 1.1 过程化(procedural programming):程序被认为是在一个数据集合上进行的一系列操作。 1.2 结构化(structured programming):主要思想是:功能分解并逐步求精。 1.3 面向对象的程序设计(object_oriented programming) 实质是把数据和处理这些数据的过程合并为一个单独的“对象”――一个具有确定特性的自完备的实体。 1.4 对象的程序设计的特征 1) 自完备(self_contained):能够完全实现一些严格定义的功能。 2) 封装 3) 继承 4) 多态 2. 类与数据封装 2.1 什么是类? 简单的说,类就是一种用户定义的数据类型,跟结构类似;并且,类具有自己的成员变量和成员函数(方法),通过它们可以对类自身进行操作。 如:汽车可以看作是发动机、车轮、座椅等诸如此类的集合。也可以从功能的角度来研究,譬如,能移动,加速,减速,刹车等。 定义(例子)VC++中讲解 2.2 封装(encapsulation) 定义:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。 封装的优点: ◆ 封装允许类的客户不必关心类的工作机理就可以使用它。就象驾驶员不必了解发动机的工作原理就可以驾驶汽车一样,类的客户在使用一个类时也不必了解它是如何工作的,而只需了解它的功能即可。 ◆ 所有对数据的访问和操作都必须通过特定的方法,否则便无法使用,从而达到数据隐藏的目的。 2.3 对象 对象就是类的一个实例。类与对象的关系就如类型和变量的关系,所有对类的操作都必须通过对象来实现。当一个类定义了多个对象时,每个对象拥有各自的成员数据。 2.4 类的三种成员类型 ◆ 私有成员(private):缺省情况下,一个类中的所有成员都是私有的。私有成员只能被类本身的成员函数访问。并且不具有继承性。 ◆ 公有成员(public):公有成员可以被类成员函数和外部函数使用。 ◆ 保护成员(protected):在介绍继承时再介绍。 2.5 构造函数与析构函数 1)构造函数 ◆ 是特殊的成员函数;在创建对象时首先由系统自动调用。它的作用是为新创建的对象分配空间,或为该对象的数据成员赋值等。 ◆ 构造函数的名称必须与其类名称完全相同,并且不允许有返回值。 2)析构函数 ◆ 析构函数是构造函数的逆操作。 ◆ 析构函数在类名之前加~来命名,它不允许有返回值,也不允许带参数,并且一个类只能有一个析构函数。 2.6 简单介绍 1)const 用法 const 变量: const int i = 5; i = 10; // Error i++; // Error const 型成员函数 Void SomeFunction() const ; 此方法不能改变类中的任何成员。当成员函数不改变对象的属性时,就应当把它说明为CONST 型函数。这可以使编译程序帮助查错,比程序员亲自查错要快得多,而且开销更少。[错误的类型:语法错、编译错、链接错、运行错、逻辑错] 2)类静态成员 静态成员变量被一个类所有的实例所共享。静态变量使用固定地址存放,而不使用对象。 定义:在变量或函数前加关键字static即可。 例:class counter { static long t1; …… static GetValue1() { return t1; } } 它属于类而不属于对象。调用时,使用类范围运算符; counter::t1 = 1; counter::GetValue1(); 静态成员函数没有this指针,因此不能被说明为const类型。以因为其它的函数在访问成员变量时需要使用this指针,所以静态成员函数不能访问任何非静态成员变量。 3)类的友员 使用友员函数或友员类的成员函数可以访问类的私有成员。但友员函数不属于类的成员函数。 友员函数的定义: 在类的任何地方定义,只须在函数前加上关键字friend即可; 例:class FriendFun { friend void Display(FriendFun*); char *name; int age; public: FriendFun(char* str, int i) { name = str; a

文档评论(0)

1亿VIP精品文档

相关文档