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

混迹于C++之对象概念和关键字public 、protected、 private

2012-11-11 00:29 176 查看
OOAD(面向对象分析和设计)把一个对象的特征称为属性,而把其行为称为服务或方法。

由于对象具有行为,并且可以接受外界的信息(信息传递),因此对外表现为能够提供一定

的服务。当我们向一个对象传递参数并调用对应的函数时,就是在请求其提供服务。

对象之间就可以通过它们能够提供的服务来交流,进而完成特定的任务。

访问控制:

public
任何代码 protected 这个类本身和子类 private只有类本身.

C++不仅允许你对在类里定义的方法和属性实施访问控制,
还允许你控制子类可以访问基类里的哪些方法和属性。

private 是在告诉编译器从基类继承来的每一个成员都当成private来对待,
这就意味着只有这个子类可以使用它从基类继承来的元素。

C++对C的最根本改变就是把函数放在结构之中,从而产生了C++类。
类把数据和函数捆绑在一起,其中数据表示类的属性(数据成员),函数表示类的行为,也称
成员函数、方法或者服务。C++提供了的关键字
public 、protected、 private

用于声明哪些数据和函数是公开访问的、私用的或者是受保护的(受限访问)的,

这样就达到了信息隐藏的目的。

class WhoAmI{

public:

WhoAmI(std::string theName);

~  WhoAmI();

void GetMyName(void);  //名字是公开的

protected:

void GetMyAsset(void);//财产是受保护的,只有我和继承者可以使用

std::string name;//对名字进行保护,比如一个很重要的人物。

private:

void GetMyGuilty(void);//罪过是要保密的,只有自己才能偷看。

...

};

WhoAmI::WhoAmI(std::string theName)

{

name=theName;

}

int main()

{

WhoamI    boy("Jack");

//boy.name="Jim";//编译出错

return 0;

}


//对属性使用protected:可以对于protectd参数在建立一个对象时进行

//初始化,但不能进行赋值等修改动作(即使前面没有初始化或赋相同的值)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: