刚刚阅读GoF并且他们的状态继承公开了一个子类,以了解其父实现的细节。如果父类使用私有成员变量和受保护的函数,我不知道如何公开实现?
答案 0 :(得分:0)
这是一个糟糕的答案,但无论如何都是这样。
当您继承一个类时,Intellisense或Code Completion将告诉您可以访问或覆盖哪些功能和变量(公共和受保护)。这是“继承如何将父实现暴露给子类?”的部分答案。因为您需要知道可以访问或操作的函数和变量。
如果您没有编写父类,则需要查阅一些文档,这些文档将告诉您可以覆盖哪些函数以及父类的实现中该函数的位置(调用的时间和地点)。此信息可让您了解父类的实现方式。
如果您自己编写了父类,那么您已经知道了它的行为。在创建子类时,您已经考虑了父类的工作原理,因此您知道要访问或覆盖哪些变量和函数。