面向对象编程(Object Oriented Programming,OOP)是现在的主流编程技术。
主要概念:
类(class)、对象(object)、属性(attribute)、方法/操作(method/operation)
人对事物的认识的发展,是由具体(实体)到抽象,例如由小麦、稻谷、玉米抽象到农作物,由飞机、动车、高铁抽象到现代交通工具。
对应到编程中,在OOP中,则是先定义抽象的(类),再生成具体的(实体/对象)。
对象(object)有属性(attribute)和方法(method),对应到具体的编程概念,就是变量和函数。在类中声明的变量就是对象的属性,函数就是对象的方法/操作。
主要特点:
封装:将类的实现和使用分开。具体实现封装起来,调用时不需要知道内部细节。接口和参数不变时,具体实现的改变也不影响调用。
继承:类可以继承,便于代码复用,简化编程工作。封装和继承显著提高了编程工作效率。
多态:同样的操作作用于不同的类的实例,可以产生不同的执行结果。或者说,父类和子类之间、继承自同一父类的多个子类之间,虽然有相同名称的方法,但方法执行时,可以有不同的具体操作,这就称为多态。