类和对象的特性

今天讲的是c++的灵魂“类”,如果不能真正的掌握类,就不能真正的掌握c++。

先讲一些特点:

对象和类的特性:凡是以类对象为基本构成单位的程序称为基于对象的程序,而面向对象程序设计着还有个更多的要求。面向对象程序设计有4个主要特点:抽象,封装,继承和多态性。C++的类对象体现了抽象和封装的特性,在此基础上再利用继承和多态性,就成为真正的面向对象的程序设计。

任何一个对象都应当具有俩个要素,即属性和行为。对象是由一组属性和一组行为构成的。

面向对象程序设计方法的一个重要特点就是“封装性”,所谓的“封装”指俩方面含义:一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接受外界的信息。这周对外界隐蔽的做法称为信息隐蔽。

类的声明和对象的定义

  1. 类和对象的关系:类是对象的抽象,而对象是类的具体实例。

  1. 声明类类型(结构体默认的访问权限是共有的,类默认的则是私有的)

声明形式: class 类型名

{

在花括号内定义数据成员,成员函数,构造函数等等

};//这个分号要特别警惕着一定要有。

然后就是声明对象 可以在主函数内声明,也可以在主函数外声明,但是一定要在前面协商类型名后定义:类型名 b1,b2,…

  1. 数据成员分有public和private俩个类型,可以多次定义私有和共有的,但是为了可读性最好还是写在一次好。(结构体默认的访问权限是共有的,类默认的则是私有的)

  1. 定义对象的方法:.声明了类类型后可以有这俩种方式进行定义:(1).class 类型名a,b,c…; (2).类型名 a,b,c…;

  1. 在类外定义成员函数(在类内要进行函数声明)::在类内直接定义函数时,不需要在函数名前面加上类名,毕竟都在类内定义了那必然是明确是在哪个类了,但是要是定义在类外的话,计算机不知道是哪个类的成员函数,所以我们引进一个作用域限定符::,一般形式数据类型类型名::函数名()

{

} //花括号内进行所像的操作。

  1. 内置成员函数::如果成员函数定义在类内了,系统会自己将这个成员函数定义成内置函数,但是定义在类外就要在函数的声明或者函数的定义处加上inline。

  1. 成员函数的存储方式::(1)定义对象是不占用内存空间的,但其定义对象会为每个对象分配空间(只为对象的数据成员分配存储空间)

(2)成员函数的代码为该类的所有对象共享(不论成员函数在类内定义还是在类外定义,成员函数的代码段的存储方式是相同的,都不占用对象的存储空间)(不论是否用inline声明,成员函数的代码段都不占用对象的存储空间,inline函数只影响程序的执行效率,而与成员函数是否占用对象的存储空间无关)

(3)虽然成员函数并没有放在对象的存储空间种,但从逻辑的角度,成员函数是和数据一起封装在一个对象中的,只允许本对象中成员的函数访问同一对象中的私有成员。

8,怎么访问对象的成员

1 .(通过对象名和成员运算符访问对象中的成员)

2.(通过指向对象的指针访问对象中的成员)

3.(通过对象的引用访问对象中的成员)

(1).定义了一个对象b1,一般形式是::对象名.成员名 (在一个类中应当至少有一个公用的成员函数,作为对外的接口,否则就无法对对象进行任何操作)

(2).定一个一个指针*a,将指针指向对象,所以指针就代替了对象名,然后通过指针的访问方式 一般形式::a-》对象的数据成员,这样进行访问

(3).就是使用引用&,将对象名赋给&a,eg::&a=b(b是已经定义好的对象),之后的引用就和第一种是一样的,a.成员名。

这里就是一些冠以类的声明和对象定义的一样特点和方式,如果有错或者有补充可以打在评论区,感谢大家。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值