上学期刚刚学完了C
暑期开始自学C++,因为有了c的基础,我直接从类与对象开始学习
PART1 类
与c语言不同,c++是面向对象的程序设计语言。而类,是面向对象程序设计方法的核心,利用类可以实现对数据的封装和隐蔽。
在面向对象程序设计中,程序模块是由类构成的。类是对逻辑上相关的函数与数据的封装,它是对问题的抽象描述。
我认为吧,这里的类跟c语言中学过的结构体很相似,将一类的数据封装在一起,方便数据的整理,和整体的调用。但是与之不同的是c++中的类class有类成员的访问控制,这很好的保护了我们不希望被所有人看到的数据。
类的定义如下:
class 类名称
{
public:
外部接口
protected:
保护性成员
private:
私有成员
};
访问控制属性有三种:公有类型(public)、私有类型(private)和保护类型(protected)。
公有类型成员定义了类的外部接口。
私有成员只能被本类的成员函数访问,来自类外部的任何访问都是非法的。
保护型成员的性质和私有成员的性质相似,其差别在于继承过程(继承是后面章节的内容,博主暂时还没有学习到那个部分)中对产生的新类影响不同。
这里定义一个时钟的类来举例
class Clock{
public:
void setTime(int newH, int newM, int newS);
void showTime();
private:
int hour, minute, second;
};
在这个类中封装了时钟的数据和行为,分别成为Clock类的数据成员和函数成员。用户可以访问的是setTime(设置时间)和showTime(查看时间)
在类的定义中,具有不同访问属性的成员,可以按任意顺序出现。修饰访问属性的关键字也可以多次实现。但是一个成员只能具有一种访问属性。
PART 2 对象
之前看到一个关于程序员的笑话,程序员不缺对象,因为可以new一个对象。
这里的对象吧,其实是类的实体。类只是一个简单的封装,一种抽象的机制,它描述了一类事物的共同属性和行为。
我们首先要声明一个对象,才可以访问他。
声明的方式与一般变量的方式相同
类名 对象名;
例如
Clock mycloc;
访问的方式是用“.”操作符
例如想要访问Clock中的setTime()
myclock.setTime()
刚开始学习c++的时候讲真挺懵的,虽然现在也不是特别的清楚。很多人问面向对象到底是什么,这里我的教材中给出了面向对象的特点:抽象、封装、继承和多态。因为是初学者,对于这个概念我现在也是懵懵懂懂的,但是吧,相信多学多敲代码可以让我理解的更加深刻吧。
用兴趣为未来铺路,这条并不容易的女程序员之路。