二。面向对象的编程编程语言
c++的面向对象编程的基本特征:封装、信息隐藏、继承和多态性。 通过 类来封装来映射真实世界的实体,封装将操作和属性封装在一个类里边,实现类的信息隐藏。
类的结构如下:
class myClass{
attribute1;
attribute2;
....
public:
operation1();
operation2();
....
};
2.1:封装和信息隐藏:
类使用封装来映射真实世界的实体。封装将操作和属性封装在一个类里边。 封装是通过信息隐藏实现的。
在c++中有两种方法来实现信息隐藏。他们是:
a。私有的属性和操作只能通过该类的其它公共的操作访问。
b。操作的实现是隐藏的,而只通过类的定义的公共接口。c++类的定义在通常情况下不会分发给该类的用户,而且只会分发包含类和方法的声明的对象文件和头文件。这就是类隐藏的实现。
例如:
c'la's's person{
char [80] name;
public;
setName(char *name);
};
person类定义提供了属于类的属性以及类的部分接口。
2.2继承和多态性
通过继承来在子类中重用基(子)类的结构和行为。
3.类和对象
类和对象是c++中的基本概念。同c语言相比,类相当于类型的扩展,对象相当于变量的扩展。类用来定义变量,语法上有点相通,在c++语言中,所有数据类型都可视为类。
3.1.类的定义
clas myClass{ //类名myClass
protected:// 保护部分
private: //私有部分
public: // 公共部分
myClass() //默认构造器
~myClass();//虚构函数
};
类的成员具有三种权限:
。公共部分:这种权限的成员可以在任何地方使用。
。保护部分:这种权限的成员只能在本类即由本类继承的派生类的成员函数中访问。
。私有部分:这种权限的成员只能在本类的成员函数中访问。
成员的访问权限是一种语法上的限制,仅在编译时有意义。
定义类之后,就可使用这个类来创建对象。定义对象的格式:类名 类的 对象
如 myClass obj; //定义myclass类的对象
3.2 对象的实例化
类的实例称为对象。对象的实例化是在内存中创建对象的过程。以下语法是从类的实例化对象。
类名 对象名
对象的实例化类似过程化编程语言中的变量声明。对象的命名规则为: 类名以大写字母开头,对象名以小写字母开头
下面是对象实例化的过程。
MyClass math;
;
3.2利用getterh函数和setter函数 实现类的封装性
通常采用以下两种成员函数来访问属性:
1.getter函数 :该函数用于访问类中数据。
int getNum(void);
2.setter函数:该函数用于设置类的数据成员的值
void setName(char*);
3.3 构造和虚构函数
类里面可以定义两个特殊函数:构造函数和虚构函数。构造函数的特点是必须与类的名称相同,调用方法同普通函数一样,创建对象时只能调用一次,可以有参数,但是不能返回值;虚构函数特点是他的名称前加上~,不能返回值。不能带参数,不能被重载。
构造函数用来创建对象时初始化状态。如果一个类具有重载构造函数,并没有定义默认构造函数时,编译器会不会调用任何默认构造函数,必须提供默认构造函数。析构函数用来在对象销毁前执行清除操作。
3.2 对象的创建:
对象实例化时,在内存空间中创建它们并为其分配所需空间。对象的创建调用构造函数,构造器里用于创建对象的初始化状态,
3.2.1 调用myClass类的对象时,
myClass test;