类的属性——数据成员,为什么要设置成私有的?
小湿哥 2012-07-25 08:49:41 突然想起来2个月前面试这家公司的时候,老板曾问过我这样一个问题。
当时是老板让我谈谈对于面向对象的理解,我就随便说了一通,说类都有自己的属性,这些属性通过数据成员来体现,一般都设为private的。
老板就问,为什么要设成私有的?公有的,大家都可以用不好么??
当时我就有点语塞了,就说属性不可以被被随便修改,必须是成员函数构造函数才能修改。老板又问,为什么还要额外写一些成员函数去修改数据成员呢,直接改不是更好,那你告诉我,为什么不能被外界直接访问?。..
记得当时我也没回答出来,现在想起来了,求问一下,目测应该也不是三言两语的事情哦。