面向对象语言的一些基础知识
面向对象语言的三大特性
封装、继承、多态
如何理解封装
应用程序和其它类无法从类本身范围外访问和修改类内部的成员变量,只能访问修改器才能检索和修改类内部的成员变量的这种技术叫做封装
如何理解多态
允许将子类类型的指针赋值给父类类型的指针。也就是同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法
面向对象的里氏替换原则
子类(派生类)能够替换父类(基类)对象被使用。反之则不行。
面向对象的开放封闭原则
软件实体应该是可以扩展的,但对修改是封闭的,不可修改。当有新的需求或变化时,可以对现有代码进行扩展。当类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改
多态的作用是什么
多态的作用就是把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化
使用虚方法还是使用抽象类来实现多态的判断准则
取决于我们是否需要使用基类实例化的对象
抽象类和接口的本质区别
类是对对象的抽象,可以把抽象类理解为把类当作对象,抽象成的类叫做抽象类。它更侧重族群的概念,而接口只是一组行为的规范或规定
静态类和非静态类的区别
静态类不能被实例化,而非静态类使用前需要实例化