oop(Object Oriented Programming),就是我们常说的面向对象编程,它实现了编程的重用性、灵活性和扩展性。其核心思想为:封装、继承、多态,也可概括为抽象性。
封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。即隐藏对象的实现和细节,只对外公开访问方法。具体做法就是私有属性,公开get和set方法,对成员变量的修改也以对应的方法对外公开,而不是直接对变量进行操作。
继承:分为extends和implements,对应abstract和interface,两者都是抽离出具有共性的属性和方法。区别是前者可以选择是否将方法实现,如果不想实现就定义为抽象类,抽象类只能被继承不能被实例化。接口只能定义属性和方法,而方法不能实现。
严格来说,extends是继承父类,只能继承一个类;implements是实现接口,变相实现了多继承。但是implements不是继承,因为继承是具有单一性的。
多态:同一个引用类型(父类引用),通过指向不同的实例(子类对象)而执行不同操作结果。
P ins1 = new C1(); P ins2 = new C2();
具体就是向上转型,同一类型不同对象,调用同一个方法,产生不同结果。
继承和多态会涉及到方法的重写,注意重写和重载的区别。
aop(Aspect Oriented Programming),就是面向切面编程。有Aspect(切面)、Advice(通知、增强)、Joinpoint(连接点)、Pointcut(切入点)几个概念。
在编程中有些功能频繁使用&#