virtual自然生成虚函数表(一维数组记录了虚函数地址 通过偏移可以调相对应的方法) vp 编译的时候地址自然会赋值给相对应的对象
如何体现多态
没有虚函数重写 那么就是早绑定 就比如subject会转换成base类型 p指向base对象
有虚函数就是晚绑定 p指向subject对象
设计原则 ;设计模式还没偶出来之前 就已经有的
抽象:接口 进行解耦 这一些行为
接口使用者不要依赖具体的实现 而是依赖接口 上面的变化 与 下面的变化进行解耦
关键:分析稳定点(骨架/算法结构(多个流程 在子类复写))和变化点(子流程)