类与对象

来源:互联网 发布:nginx 指定目录跳转 编辑:程序博客网 时间:2024/06/16 20:22

面向对象方法中的对象:

Ø 是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。对象由一组属性和一组行为构成。

Ø 属性:用来描述对象静态特征的数据项。

Ø 行为:用来描述对象动态特征的操作序列。

分类所依据的原则——抽象:

忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。

--具有相同属性和服务的一组对象的集合

封装--将抽象出的数据成员、代码成员相结合,将它们视为一个整体。

继承--特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。

多态--多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。

公有类型成员:关键字public

私有类型成员:关键字private

保护类型:关键字protected(与private类似,其差别表现在继承与派生时对派生类的影响不同)

类的成员函数:与一般的变量声明相同,但需要将它放在类的声明体中。

为了提高运行时的效率,对于较简单的函数可以声明为内联形式。

构造函数:

Ø 在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态。

Ø 在对象创建时由系统自动调用。

Ø 如果程序中未声明,则系统自动产生出一个隐含的参数列表为空的构造函数

Ø 允许为内联函数、重载函数、带默认形参值的函数

复制构造函数:

Ø 复制构造函数是一种特殊的构造函数,其形参为本类的对象引用。(如果程序员没有为类声明复制初始化构造函数,则编译器自己生成一个隐含的复制构造函数。)

Ø 用作为初始值的对象的每个数据成员的值,都复制到新建立的对象中。

析构函数:

Ø 完成对象被删除前的一些清理工作。

Ø 在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间。

Ø 如果程序中未声明析构函数,编译器将自动产生一个隐含的析构函数。

组合的概念:

类中的成员数据是另一个类的对象。

可以在已有的抽象的基础上实现更复杂的抽象。

原则:不仅要负责对本类中的基本类型成员数据赋初值,也要对对象成员初始化。

构造函数调用顺序:

先调用内嵌对象的构造函数(按内嵌时的声明顺序,先声明者先构造)。然后调用本类的构造函数。(析构函数的调用顺序相反)

 

v 类应该先声明,后使用

v 如果需要在某个类的声明之前,引用该类,则应进行前向引用声明。

v 前向引用声明只为程序引入一个标识符,但具体声明在其它地方。

template  <模板参数表>

类声明

格式:

template<class 标识符>

    class类名{

    //...

    }

联合体:

声明形式

union 联合体名称 {

    公有成员

protected:

    保护型成员

private:

    私有成员

};

特点:

成员共用相同的内存单元

任何两个成员不会同时有效

 

原创粉丝点击