net史上试题及.net基础知识

上传人:第*** 文档编号:59056784 上传时间:2018-11-04 格式:DOCX 页数:235 大小:749.09KB
返回 下载 相关 举报
net史上试题及.net基础知识_第1页
第1页 / 共235页
net史上试题及.net基础知识_第2页
第2页 / 共235页
net史上试题及.net基础知识_第3页
第3页 / 共235页
net史上试题及.net基础知识_第4页
第4页 / 共235页
net史上试题及.net基础知识_第5页
第5页 / 共235页
点击查看更多>>
资源描述

《net史上试题及.net基础知识》由会员分享,可在线阅读,更多相关《net史上试题及.net基础知识(235页珍藏版)》请在金锄头文库上搜索。

1、.Net 基础知识什么是面向对象面向对象 OO(object oriented) = 面向对象的分析 OOA(Object Oriented Analysis) + 面向对象的设计 OOD(Design)+.OOP;通俗的解释就是万物皆对象,把所有的事物都看作一个个可以独立的对象(单元),它们可以自己 完成自己的功能,而不是像 C 那样分成一个个函数;现在纯正的 OO 语言主要是 java 和 C#,C+也支持 OO,C 是面向过程的。阐述面向接口、面向对象、面向方面编程的区别 面向对象不好解释,可以理解为以一切元素都是对象,在设计时以对象为单位,考虑它的属性及方法。设计中采用了封装、继承、抽

2、象的手法面向接口本身就是面向对象的 ,无所谓区别,只不过面向接口的好处是耦合性低面向方面 Aspect-Oriented Programming (AOP)就是大名鼎鼎的 AOP。其实有点象struts里的拦截。 举例:假设有在一个应用系统中,有一个共享的数据必须被并发同时访问,首先,将这个数据封 装在数据对象中,称为 Data Class,同时,将有多个访问类,专门用于在同一时刻访问这同一个数据对象。为了完成上述并发访问同一资源的功能,需要引入锁 Lock 的概念,也就是说,某个时刻,当有 一个访问类访问这个数据对象时,这个数据对象必须上锁 Locked,用完后就立即解锁 unLocked,

3、再 供其它访问类访问。面向对象的思想主要包括什么? 继承:子类拥有父类的所有数据和操作。封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内。 多态:一个程序中同名的不同方法共存的情况。有两种形式的多态重载与重写。抽象类是否可以继承实体类? 抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数。当类 T 只声明了私有实例构造函数时,则在 T 的程序文本外部,是否可以从 T 派生出新的类,是否 可以直接创建 T 的任何实例。不可以,不可以C#中有没有静态构造函数,如果有是做什么用的?有. 静态构造函数用于初始化类。在创建第一个实例或引用任何静态成

4、员之前,将自动调用静态 构造函数来初始化类。静态构造函数既没有访问修饰符,也没有参数。在创建第一个实例或引用任何 静态成员之前,将自动调用静态构造函数来初始化类。无法直接调用静态构造函数。在程序中,用户 无法控制何时执行静态构造函数。静态构造函数的典型用途是:当类使用 日志 文件时,将使用这种 构造函数向日志文件中写入项。什么是.net?.net 是一种平台和框架, .net 不是单纯的语言也不是单纯的工具,它是从底层平台开始构建起来 的一个整体框架请以图示方式解释.net framework?VBC+C#JscriptVisual Studio .NETCommon Language Spe

5、cificationXML Web servicesWeb FormsWindows FormsData and XMLBase Class LibraryCLRCLI程序集与命名空间有什么不同?命名空间是用于 避免命名冲突,专用于组织代码,当代码要在其他某个应用程序中重用时,可 以降低复杂性。程序集是重用代码的一种方式验证控件不同: 可以将相同命名空间中的类部署到不同的程序集中,也可以命名空间中的类部署到一个程序集 中命名空间程序集有 逻辑编译 时机制有 物理编译 时机制 不是运行时实体是运行时实体为源代码元素的 名称提供逻辑结构为可执行文件的 运行时提供物理结构什么是 WEB 控件?使用

6、WEB 控件有那些优势?WEB 控件是能拖放在 WEB 页面上的控件WEB 控件分为:内部控件, 列表控件, 复杂控件,WEB 控件优势:l Web 控件是对象,与对象一样,Web 控件拥有方法和属性,并且响应事件l 一旦将 Web 控件包括在 Web 页中,就可以设置其属性并调用其方法l 可以为 Web 控件编写服务器端代码以响应在客户端上发生的事件ASP.NET 中共有几种类型的控件?各有什么区别?WEB 控件分为:内部控件, 列表控件, 复杂控件, 验证控件内部控件:内部控件的使用方法与 HTML 控件相同,它们映射到 HTML 元素并通过使用 runat= server 属性在服务器上

7、执行 列表控件:用于在 Web 页中创建数据列表复杂控件:当希望控件拥有复杂的功能或使用 HTML 元素无法创建的功能丰富的用户界面时, 可以使用复杂控件验证控件:输入控件的数据需要进行准确性和取值范围方面的检查WEB 控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为 什么要使用自动传回。由于 ASP。NET 是 Web 页面和服务端分离的,因此要产生了服务端事件. 使用_doPostBack 函数能够自动地把客户端的 javascript 事件转变为一个服务器端的事件,A 框架自动为我们处理有关的细节简化工作。理 事件.使用自动传回的特性:在检测到一个特定用

8、户动作时,自动传回能够将这个页面传回服务器以处在 web 控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用 Page_Load 事件,然后根据传回的状态信息自动调用服务端事件自动传回是当我们在点击客户端控件时,采用提 交表单的形式将数据直接传回到务端。只有通过自动传回才能实现服务端事件的机制,如果没有自动 回传机制就只能调用客户端事件,而不能调用服务端事件请解释 ASP.NET 中以什么方式进行数据验证。A 中有非空验证,比较验证,取值范围验证,正则表达式验证及客户自定义验证五大控件, 另还有一个集中验证信息处理控件什么是 ASP.Net 中的用户控件用户控件是能够在其中放置

9、标记和 Web 服务器控件的容器。然后,可以将用户控件作为一个单 元对待,为其定义属性和方法。用户控件以。ascx为扩展名,可以拖到不同的页面中调用,以节省代码。比如登陆可能在多个页 面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的 图片 等的相对路径会变得不准确,需要自已写方法调整。 问这样的问题,一般是迷惑你。因为新手还是分不清楚用户控件和服务器控件(也称自定义控件),用户控件一般用在内容多为静态,或者少许会改变的情况下,用的比较大,类似 ASP 中的 include。但是功能要强大的多。WEB 控件及 HTML 服务端控件能否调用客户端方法?如果能,请解

10、释如何调用? 可以调用例如:C#, Java 和 c+的特点,有什么相同的地方,不同的地方, C#分别从 c+和 java 中吸取了他们那 些优点?C#看起来与 Java 有着惊人的相似;它包括了诸如单一继承,界面,与 Java 几乎同样的语法,和编译成中间代码再运行的过程.但是 C#与 Java 有着明显的不同,它借鉴了 Delphi 的一个特点,与 COM(组件对 象模型)是直接集成。微软 c#语言定义主要是从 C 和 C+继承而来的,而且语言中的许多元素也反映了这一点.C#在设计 者从 C+继承的可选选项方面比 Java 要广泛一些(比如说 structs),它还增加了自己新的特点(比方

11、说源 代码版本定义).C#从Java继承而来的特点类:在 C#中类的声明与 Java 很相似。特点看起来与 Java 相比没有变化. 布尔运算:条件表达式的结果是布尔数据类型,布尔数据类型是这种语言中独立的一种数据类型.从布尔类型到其他类型没有直接的转换过程.布尔常量 true 和 false 是 C#中的关键字. 错误处理:如 Java 中那样,通过抛出和捕捉异常对象来管理错误处理过程. 内存管理:由底层.NET 框架进行自动内存垃圾回收.C#从C和C+继承的特点 编译:程序直接编译成标准的二进制可执行形式.结构体:一个 C#的结构体与 C+的结构体是相似的,因为它能够包含数据声明和方法.但

12、是,不象C+,C#结构体与类是不同的而且不支持继承.但是,与 Java 相同的是,一个结构体可以实现界面. 预编译:C#中存在预编译指令支持条件编译,警告,错误报告和编译行控制. #error C#独有的特点中间代码:微软在用户选择何时 MSIL 应该编译成机器码的时候是留了很大的余地.微软公司很小 心的声称 MSIL 不是解释性的,而是被编译成了机器码.它也明白许多-如果不是大多数的话-程序员认 为 Java 程序要不可避免的比 C 编写的任何东西都要慢.而这种实现方式决定了基于 MSIL 的程序(指的 是用 C#,Visual Basic,Managed C+-C+的一个符合 CLS 的版

13、本-等语言编写的程序)将在性能上超 过解释性的Java 代码.当然,这一点还需要得到事实证明,因为 C#和其他生成 MSIL 的编译器还没有发 布.但是 Java JIT 编译器的普遍存在使得 Java 和 C#在性能上相对相同.象C#是编译语言而 Java 是解释 性的,之类的声明只是商业技巧.Java 的中间代码和 MSIL 都是中间的汇编形式的语言,它们在运行时 或其它的时候被编译成机器代码.命名空间中的声明:当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类.同在这 个命名空间里(在类的外面)你还有可能声明界面,枚举类型和结构体.必须使用 using 关键字来引用其他 命名空

14、间的内容.基本的数据类型:C#拥有比 C,C+或者 Java 更广泛的数据类型.这些类型是 bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和 decimal.象 Java 一样,所有这些类型都有一个固定的大小.又 象 C 和 C+一样,每个数据类型都有有符号和无符号两种类型.与 Java 相同的是,一个字符变量包含的 是一个 16 位的 Unicode 字符.C#新的数据类型是 decimal 数据类型,对于货币数据,它能存放 28 位 10 进 制数字.两个基本类:一个名叫 object 的类是所有其他类的基类.而一个名叫 string 的类也象 object 一样是 这个语言的一部分.作为语言的一部分存在意味着编译器有可能使用它-无论何时你在程序中写入一 句带引号的字符串,编译器会创建一个 string 对象来保存它.参数传递:方法可以被声明接受可变数目的参数.缺省的参数传递方法是对基本数据类型进行值 传递.ref 关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值.out 关键字 也能声明引用传递过程,与 ref 不同的地方是,它指明这

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号