type
status
date
slug
summary
tags
category
icon
password
Property
使用访问说明符(access specifier) 可以加强类的封装性:
- 定义在
public
说明符之后的成员在整个程序内都可以被访问,public
成员定义类的接口
- 定义在
private
说明符之后的成员可以被类的成员函数访问,但是不能被使用该类的代码访问,private
部分封装(隐藏)了类的实现细节
定义
Sales_data
类的新形式如下所示:作为接口的一部分,构造函数和部分成员函数(
isbn
和combine
) 紧跟在public
说明符之后,而数据成员和作为实现部分的函数则跟在private
说明符后面一个类可以包含零或多个访问说明符,而且对于某个访问说明符能出现多少次也没有严格限定。每个访问说明符指定了接下来的成员的访问级别,其有效范围到出现下一个访问说明符或类的结尾处为止。
class 或struct 关键字
可以使用这两个关键字中的任何一个定义类,唯一的一点区别是二者的默认访问权限不太一样
- 使用关键字
struct
定义类时,定义在第一个访问说明符之前的成员是public
的
- 而使用关键字
class
时,这些成员是private
的
封装的好处:
- 确保用户代码不会无意间破坏封装对象的状态
- 被封装的类的具体实现细节可以随时改变,而无须调整用户级别的代码
由类定义的类型名字和其他成员一样存在访问限制,可以是
public
或private
中的一种:与普通成员不同,用来定义类型的成员必须先定义后使用,类型成员通常位于类起始处