Visual FoxPro ODBC Driver
阐述面向接口、面向对象、面向方面编程的区别
面向接口更关注的是概念,它的原则是先定义好行为规范,再根据行为规范创建实现,严格的来说,面向接口应
该是面向对象中的一部分吧,因为面向对象也强调的是本末倒置原则,也就是实现依赖于抽象,而
抽象不依赖于
具体实现,更具比较的应该是面向接口与面向抽象对象,我的体会是面向接口更加灵活,但实现时候,稍微有些
代码冗余,而面向抽象可以结合面向接口,先定义接口,再定义抽象类,在抽象类中处理一些公共逻辑,再实现
具体实现类。面向对象是对复杂问题的分解。面向方面的编程是一种新概念,它解决了很多面向对象无法解决的
问题,比如面向对象技术只能对业务相关的代码模块化,而无法对和业务无关的代码模块化。而面向方面正是解
决这一问题的
方案,它的关键思想是"将应用程序中的商业逻辑与对其提供支持的通用服务进行分离"。
什么是面向对象
万物都是对象,其主要特征:封装、继承、多态
怎样实现多态
1.通过对象直接调用成员函数时,始终默认使用该对象的类的成员函数(除非用::显示指定类名)。
2.通过指向对象的指针或引用调用成员函数时:如果该函数是实函数,则调用该指针或引用的类的成员函数;如果该函
数是虚函数,则调用该指针或引用指向的对象的类的成员函数。
面向对象的思想主要包括什么?
答:任何事物都可以理解为对象,其主要特征: 继承。封装。多态。特点:代码好维护,安全,隐藏信息
什么是Interface?它与Abstract Class有什么区别?
接口(Interface)是用来定义行为规范的,不会有具体实现,而抽象类除定义行为规范外,可以有部分实现,但一
个类能实现多个接口,但只能继承一个父类
什么是抽象类(abstract class)?
答:一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有抽象
类的抽象方法后才能被实例化。
接口(interface)是什么?
答:只含有公有抽象方法(public abstract method)的类。这些方法必须在子类中被实现。
为什么不能指定接口中方法的修饰符?
答:接口中的方法用来定义对象之间
通信的契约,指定接口中的方法为私有或保护没有意义。它们默认为公有方法。
接口和抽象类的区别是什么?
答:接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实
现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以
提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。
再抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要
重新编写(这就是为什么
说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有
的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。
此外接口不能包含字段、构造函数、析构函数、静态成员或常量。
什么时候使用抽象类,什么时候用接口
答:接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实
现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以
提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。
再抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要
重新编写(这就是为什么说接口是一个