面试中对面向对象的理解:
面向对象编程是一种编程的范式,满足面向对象编程的语言都会提供类、封装、继承、多态的概念来辅助我们进行编程。
类可以理解为蓝图和模板,描述了一类对象的属性和行为,在建筑学中,我们可以通过蓝图来构建实例,我们也可以通过类来创建实例。
封装使得类的成员有选择性的暴露。一些成员只在类的内部使用,被称之为私有的,在JAVA中修饰符为private; 一些成员只能被派生类、子类使用,被称之为受保护的,修饰符为protected; 一些成员能被任何类使用,称之为公开的,修饰符为public;
继承可以从一个类派生出多个这个类的子类,他的子类同时继承了这个父类的属性和行为,这个子类也可以新增自己的属性和行为。
多态包括了对行为方法的重写(override)与重载(overload)。重载是在一个类中,对同一行为方法的不同处理方式,参数类型和参数个数可以不一样,返回值类型可以不一样;重写是在继承的基础上对继承自父类的行为方法进行不同的处理和描述,要求参数列表和返回值一致; 两者都是多态的表现。
面向对象之初是为来解决GUI程序设计的问题。