前面我基本上讲解了封装的简单做法,当然实际上封装还可以设置属性的权限,不过我认为这不重要,但如果你真的认为很重要也没关系,实现权限管理并不困难,你可以强制要求所以属性只能通过特定函数获取,然后在函数里实现权限管理。而且C语言还提供了static和const关键字,所以只要你愿意你可以去完善。但我要再次申明一次我的观点,这不重要,这并不是oop的核心,记住,oop的特性是封装、继承和多态,而不是权限。封装有一点权限管理的味道,但当初提出封装的理念绝不是为了管理权限。
现在我们继续考虑,我之前假定了一个伪造的关键字class,并简单介绍了实例如何调用属性和方法。不知道你发现没有,这里的伪关键字class是不是很像C语言本来就有的一个关键字struct?没错,太像了。事实上,在c++里面struct已经具有了面向对象的特征。那么我们是不是可以考虑利用struct来实现封装呢?
现在我们继续考虑,我之前假定了一个伪造的关键字class,并简单介绍了实例如何调用属性和方法。不知道你发现没有,这里的伪关键字class是不是很像C语言本来就有的一个关键字struct?没错,太像了。事实上,在c++里面struct已经具有了面向对象的特征。那么我们是不是可以考虑利用struct来实现封装呢?