您的位置:首页 > 编程语言 > ASP

asp.net 经典面试题

2010-03-02 09:33 337 查看
1.

面向对象的思想主要包括什么?


继承
多态
封装


封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。


继承:子类拥有父类的所有数据和操作。


多态:一个程序中同名的不同方法共存的情况。

有两种形式的多态–
重载与重写。

2.

什么是
ASP.net

中的用户控件


用户控件就是
.ascx
扩展名的东西喽
,
可以拖到不同的页面中调用
,
以节省代码
.
比如登陆可能在多个页面上有
,
就可以做成用户控件
,
但是有一个问题就是用户控件拖到不同级别的目录下后里面的
图片

等的相对路径会变得不准确
,
需要自已写方法调整
.

问这样的问题
,
一般是迷惑你
.
因为新手还是分不清楚用户控件和服务器控件
(
也称自定义控件
)..
用户控件一般用在内容多为静态
,
或者少许会改变的情况下
..
用的比较大
..
类似
ASP
中的
include..
但是功能要强大的多
..


C

#中,
string str = null


string str = “”

的区别。


答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间

请详述在
dotnet

中类
(class)

与结构
(struct)

的异同


Class
可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的.

DataReader和DataSet的异同



DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..

DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作.

8.C#

中的接口和类有什么异同。


接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用

类是方法功能的实现和集合,接口是规范类.约束类
.

接口,是可以多继承,类只有单继承.接口强调了你必须实现,而没有具本实现的方法和虚类有点相似

Override与重载有什么区别?



一个是重写父类函数,一个是同一个函数的几种形式

触发器的作用



触发器可以查询其它表,而且可以包含复杂的
SQL
语句。它们主要用于强制复杂的业务规则或要求。触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。

保证数据库操作变更能接到通知

<%# %> 和 <% %> 有什么区别?



<%# %>表示绑定的数据源

<% %>是服务器端代码块

常见的设计模式


抽象工厂模式、适配器模式、外观模式
command
命令模式
,
桥接模式
,
组合模式
,
装饰模式
,
状态模式
,
备忘录模式等。

软件设计模式太多,就我的理解简单说一下最常见的
MVC
模式。

MVC
模式是
1996
年由
Buschmann
提出的:

模型(
Model
):就是封装数据和所有基于对这些数据的操作。

视图(
View
):就是封装的是对数据显示,即用户界面。

控制器(
Control
):就是封装外界作用于模型的操作和对数据流向的控制等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: