面试题2 列出面向对象的几个设计原则