asp.net 经典面试题

本文详细介绍了面向对象编程的基本概念,包括封装、继承和多态,并解释了ASP.NET中的用户控件及其应用场景。此外还对比了C#中的类与结构、DataReader与DataSet等关键技术和模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 ):就是封装外界作用于模型的操作和对数据流向的控制等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值