background image

什么是面向对象?
面向对象 OO = 面向对象的分析 (OOA) + 面向对象的设计 (OOD) + 面向对象的编程
(OOP);
通俗的解释就是万物皆对象,把所有的事物都看作一个个可以独立的对象(单元),它们
可以自己完成自己的功能,而不是像 C 那样分成一个个函数;
现在纯正的 OO 语言主要是 JAVA 和 C#,C++也支持 OO,C 是面向过程的。

阐述面向接口、面向对象、面向方面编程的区别?

面向对象不好解释,可以理解为以一切元素都是对象,在设计时以对象为单位,考虑它
的属性及方法。设计中采用了封装、继承、抽象的手法;

面向接口本身就是面向对象的,无所谓区别,只不过面向接口的好处是耦合性低;

面向方面 Aspect-Oriented Programming (AOP) 就是大名鼎鼎的 AOP。其实有点像 struts 里的
拦截;

面向对象的思想主要包括什么?
继承:子类拥有父类的所有数据和操作;
封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据
类型内;

——

多态:一个程序中同名的不同方法共存的情况。有两种形式的多态

重载与重写;

抽象类是否可以继承实体类?

——

抽象类可以继承实体类,但是有个条件,条件是

实体类必须要有明确的构造函数。

当类 T 只声明了私有实例构造函数时,则在 T 的程序文本外部,是否可以从 T 派生出新
的类,是否可以直接创建 T 的任何实例?
不可以,不可以

C#中有没有静态构造函数,如果有是做什么用的?
有。静态构造函数用于初始化类。在创建第一个实例或引用任何静态成员之前,将自动调
用静态构造函数来初始化类。静态构造函数既没有访问修饰符,也没有参数。在创建第一
个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。无法直接调用静
态构造函数。在程序中,用户无法控制何时执行静态构造函数。静态构造函数的典型用途
是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。

什么是.NET?
.NET 是一种平台和框架, .NET 不是单纯的语言也不是单纯的工具,它是从底层平台开始构
建起来的一个整体框架。

程序集与命名空间有什么不同?
命名空间是用于避免命名冲突,专用于组织代码,当代码要在其他某个应用程序中重用
时,可以降低复杂性;