CS3L2——类和对象
CS3L2——类和对象
本章代码关键字
1 | class //类声明关键字 |
类
具有相同特征,相同行为的一类事物的抽象,类是对象的模板,可以通过类来创造对象
何为抽象
抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。
例如:从众多的人中抽取出:姓名、肤色、国籍、性别、年龄、身高、体重等等的共同的特征
类的关键词是 class
类的申明 和 类对象的申明是两个概念
类的声明 是申明对象的模板 用来抽象(形容)显示事物的
类对象的申明 是用来表示现实中的对象个体的
类是一个自定义的变量类型,实例化一个类对象是申明变量
类与结构体的区别,详见:CS3L26——结构体和类的区别
类声明在哪里以及声明语法
类 class
申明在 namespace
内
1 | namespace lesson1类和对象 |
类声明示例
1 | class Person //用来形容人类 |
(类)对象
类的声明 和 类对象(变量)声明是两个概念
类的声明 类似与 枚举 和 结构体 的声明 相当于申明了一个自定义变量类型
而 对象 是类创建出来的,相当于申明一个指定类的变量
类创建对象的过程 一般称为 实例化对象
类对象 都是引用类型的(和数组,string
一样)(注意!结构体是值类型!!!)
实例化对象基本语法
1 | 类名 变量名; |
实例化对象
1 | Person p; //相当于在栈空间已经开了一个房间,里面是 null,没有在堆上分配空间 |
这里的 p3
、p4
、p5
在栈上存储着指向堆空间的地址,它们指向不同的地址!
注意!它们虽然来自一个类的实例化 但是他们的特征 行为 等信息 都是他们独有的
千万不要认为他们共享了数据,同类不同对象 彼此在内存里没有任何关系!!!
面向对象编程类似于女娲造人,想要什么对象就 new
一个对象,一切的对象都是由我们控制的
目前示例化出来的对象还什么都不能调用,因为我们没有在类声明的时候声明成员,后续我们会学习这些内容
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!