2.类和对象

1.什么是类?

  类是面向对象编程的基础。

  一个类定义一个数据类型,很像c语言中的结构体。一个类具有状态(成员变量)和改变状态的操作(成员函数或接口)

 

2.什么是对象?

  对象通常指的是一个类的实例。

 

3.什么是一个好的接口?(一个类中定义了很多方法,我们调用方法,就是调用接口)

  a.隐藏不必要的细节,减少调用失败的概率

  b.准确定义,好理解。不能有陡峭的学习过程。

 

4.什么是封装?

  防止未授权的访问成员变量或者成员函数。  

  一个类中有易变的部分(某个状态)和稳定的部分(获取这个状态的方法)。封装就是在易变的部分外添加一个防火墙。

阻止外部直接访问易变部分。

  这个易变的部分,就是你设计类的细节。易变的部分使用protected或者private关键字封装。类的继承也是一种封装

方式。

  稳定的部分是接口。接口用public关键字封装,或者接口就是友元函数。

 

5. c++如何权衡安全性和可用性?

  c语言中,在编译单元中声明static类型变量来实现封装。这阻止了另外一个模块来访问静态的变量。

  一个类型的实例,访问多个类型的static类型变量是不可能的。如果要实现这个功能,就得使用结构体。但是结构体中所

有类型都是public的,所以使用c语言封装有安全性考虑。

  在C++中,你可以通过一个类同时拥有多个实例和封装。类的公共部分包含类的接口,通常由类的公有成员函数及其友

元函数组成。类的私有/受保护的部分包含类的实现,这通常是数据存在的位置。

  最终的结果就像一个“封装结构”。 这减少了安全(信息隐藏)和可用性(多个实例)之间的权衡。

 

6.是不是封装就意味着安全?

  不!

  封装不等于安全!

  封装能阻止错误,但是不能阻止间谍。

 

7.关键字struct和class的区别。

  struct中默认是public类型。class中默认是private类型。

转载于:https://www.cnblogs.com/billxyd/p/6921006.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值