您的位置:首页 > 编程语言 > C语言/C++

C++学习笔记三:类和对象

2018-01-12 12:40 176 查看
1.3.1 类和对象的区别
在C++里面,类 和对象的区别在于编译器是否会为其分配空间,显然,类不会,而对象会。

推广到现实生活中,星球是类,地球是对象;大熊猫是类,成都动物园的大熊猫小美是对象,也就是说,类是存在意识中的概念或者定义,它不占据现实的物质空间,而对象必然是某种物质空间,或者说对象必然占据了一定的物质空间,比如地球,比如小美。

PS:因为刚学,所以关于类是否会被分配空间问题的理解可能存在偏差。但开始学习,这样理解对我来将就足够了。以后搞清楚了可能会修正(2018-1-12 12:45:42)

1.3.2 如何定义一个类

如何定义一个类,我们可以从两种方式来区分。

现实世界

你的世界

现实世界好理解,就是现实世界对某种类的定义,比如人类,行星等等。

而你的世界呢?

你可以在你的世界任意定义类的性质,因为在你的世界,你就是上帝。比如,你可以这样定义学生类:
class my_stu {
char * name;

void func_上网(void);

void func_看妹纸(void); //


}

虽然这个学习类和现实世界对学生的定义不同(学生不一定都上网),但在你的世界,这个学生类定义是正确的,

换言之,你的世界的学生就是只有姓名,上网和看妹纸三个属性,只要在你世界满足这个三个条件的对象,我们都可以认为他

是学生,而不是。。。网管(

)。

但在实际的业务需求中,为了让你的世界的类能为现实世界服务,你需要尽量的让你的类定义符合现实的概念。

举个列子,比如某个学校要求你开发“学生成绩管理系统”,显然,学生类里面必然存在成绩这条属性,

而你在你的世界定义的学生类my_stu不存在这种属性,也就是说,你可能没办法完成学校的这个业务需求。

所以,你就得扩充你世界里对学生类的定义,以期望它能满足实际的业务需求。

总结一下:在C++里面,定义一个类的方式存在两种:
1、现实世界:根据现实世界对这个类的定义来定义;
2、你的世界:在你的世界里,原则上你可以任意定义类,但为了让你类能服务与现实世界,


所以你需要尽量让你的类属性贴近现实世界对应类的属性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C Qt