接口与类的区别
接口和类都是面向对象编程中的重要概念,它们之间的区别如下:
1、定义方式:接口是由方法声明组成的,而类是由成员变量和成员方法组成的。
2、继承方式:类可以继承另一个类,而接口不能被继承。
3、实现方式:接口可以被类实现,而类不能实现接口。
4、访问权限:类可以被其他类访问,而接口只能被实现它的类访问。
5、作用域:类的成员变量和成员方法的作用域是整个类,而接口的方法的作用域是实现它的类。
6、多态性:类可以实现多个接口,而接口只能被一个类实现。
7、封装性:类可以被多个类访问,而接口只能被一个类访问。
8、泛型:类可以使用泛型,而接口不能使用泛型。
9、接口和抽象类的关系:接口和抽象类都是用于定义类的规范,但是接口是一种更加灵活和通用的规范,可以用于定义任何类型的对象,而抽象类只能用于定义具体的类。
其实不论是面向接口还是面向对象还是面向方面编程,只是设计模式的一种体现,用最简单的话来解释就是:
----------------------------------------------------------------------------
面向对象编程就是一堆对象,通过封装、继承、多态等更加有效的组织程序。
面向接口编程就是一堆接口,通过接口规约对象的属性和方法,是面向对象一部分。
来源:(http://blog.sina.com.cn/s/blog_5396eb530100fkla.html) - 关于面向接口、面向对象、面向方面编程的比较区别_simoniu_新浪博客
面向方面编程把业务的主逻辑和次逻辑分开的一种思想。
面向对象不好解释,可以理解为以一切元素都是对象,在设计时以对象为单位,考虑它的属性及方法。设计中采用了封装、继承、抽象的手法
面向接口本身就是面向对象的,无所谓区别,只不过面向接口的好处是耦合性低
面向方面Aspect-Oriented Programming (AOP)就是大名鼎鼎的AOP。其实有点象struts里的拦截器。
举例:假设有在一个应用系统中,有一个共享的数据必须被并发同时访问,首先,将这个数据封装在数据对象中,称为Data Class,同时,将有多个访问类,专门用于在同一时刻访问这同一个数据对象。
为了完成上述并发访问同一资源的功能,需要引入锁Lock的概念,也就是说,某个时刻,当有一个访问类访问这个数据对象时,这个数据对象必须上锁Locked,用完后就立即解锁unLocked,再供其它访问类访问。 这种加锁与解锁的操作可以使用拦截器来实现。而拦截器本身就是面向方面编程的一个具体应用。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!