.NET面试深度解析:面向对象与接口编程

需积分: 2 1 下载量 184 浏览量 更新于2024-07-19 1 收藏 3.78MB PDF 举报
本文主要涵盖了.NET面试中常见的技术知识点,包括访问修饰符的理解、ASP.NET页面间传递值的方法以及面向对象编程的相关概念。 1. 访问修饰符的区别: - `private`:私有成员,仅限于类的内部访问,对外部不可见。 - `protected`:保护成员,允许在类自身及其派生类中访问。 - `public`:公共成员,无访问限制,任何地方都可以访问。 - `internal`:内部成员,仅限于同一命名空间内的类访问。 2. ASP.NET 页面间传递值的方法: - QueryString:通过URL参数传递,如`?id=1`。 - Session:在会话期间存储和检索数据。 - Server.Transfer:服务器端转移请求,不改变URL。 - Application:全局应用程序变量,可供整个应用程序使用。 - Cache:缓存数据,提高性能。 - HttpContext.Item:利用 HttpContext 对象的 Item 属性传递数据。 - 文件:通过读写文件进行数据交换。 - 数据库:存储和检索数据到数据库中。 3. 面向对象编程基础: - 面向对象(Object-Oriented Programming, OOP)是一种编程范式,核心思想是万物皆对象,强调封装、继承、多态。 - 封装:隐藏对象的实现细节,提供公共接口进行交互。 - 继承:子类继承父类的属性和方法,实现代码复用。 - 抽象:通过抽象类定义公共接口,实现多态的基础。 - 多态:同名方法在不同对象上有不同行为,分为方法重载(Overloading)和方法重写(Overriding)。 4. 面向接口编程与面向方面的编程: - 面向接口编程(Interface-Oriented Programming)是面向对象的一个扩展,强调通过接口定义行为规范,降低耦合度。 - 面向方面编程(Aspect-Oriented Programming, AOP)关注点分离,将横切关注点(如日志、事务管理)从业务逻辑中解耦。 5. 面向对象的主要思想: - 继承:子类可以直接使用或扩展父类的属性和方法。 - 封装:将数据和方法结合成对象,数据受保护,防止非法访问。 - 多态:允许多个类实现相同的接口或继承相同的基类,提高代码的灵活性和可扩展性。 6. C# 的其他特性: - 抽象类可以继承实体类,但实体类必须具有构造函数。 - 当类只有私有构造函数时,不能从外部派生新类,也无法直接创建实例。 - C#中有静态构造函数,用于类的初始化,自动在类首次使用前调用,不能手动调用。