new 修饰符与 new 操作符是两个概念;
new 修饰符用于声明类或类的成员,表示隐藏了基类中同名的成员。
new 操作符用于实例化一个类型;
new 修饰符只能用于继承类,一般用于弥补基类设计的不足;
new 修饰符和 override 修饰符不可同时用在一个成员上,因为这两个修饰符在含义上互相排斥。
静态变量使用 static 修饰符进行声明,在类被实例化时创建,
通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,
通过对象进行访问一个类的所有实例的同一静态变量都是同一个值,同一个类的不同实例的同一非静态变量可以是不同的值。
静态函数的实现里不能使用非静态成员,如非静态变量、非静态函数等。
- 抽象类(abstract class)可以包含功能定义和实现,接口(interface)只能包含功能定义
- 抽象类是从一系列相关对象中抽象出来的概念, 因此反映的是事物的内部共性;接口是为了满足外部调用而定义的一个功能约定, 因此反映的是事物的外部特性
- 分析对象,提炼内部共性形成抽象类,用以表示对象本质,即“是什么”
- 为外部提供调用或功能需要扩充时优先使用接口
微软已经在.NET Framework 4中添加了对LocalDB的支持。LocalDB是SQL Server Denali的免费开发者版本,它的目的是要提供大部分服务器API,而不增加管理上的工作。
微软已经发布了.NET运行时的更新Update 4.0.2,其中包含了大量与SQL Server的连接性相关的改进,像AlwaysOn特性以及在SQLClient中对LocalDB的支持。现在开发者可以从Visual Studio中访问LocalDB实例,这有助于他们使用简单而且易于维护的SQL数据来开发和测试程序。
微软已经提供了SQL Server快捷版,那是一个免费且功能有限的数据库版本,我们可以使用它来测试服务器和应用程序。但是SQL快捷版还是需要安装和管理。 另外,想要保持它与其他版本SQL Server一致,就意味着会让它越来越庞大,这就使得只拥有一台笔记本的小型开发环境很难工作。因此微软决定在SQL Server 2012(开发代码Denali)中引入一种新的、专门的版本,暂时叫做LocalDB。
想要访问LocalDB,开发者需要提供连接字符串“Data Source=(localdb)\v11.0;Integrated Security=true”,这样数据提供程序就会启动一个LocalDB实例作为子进程,并与之连接。LocalDB也支持在连接过程中附加数据库文件,这让开发者可以直接访问数据库文件,而不需要连接数据库服务器。其它的特性还包括:
- LocalDB的执行文件是sqlservr.exe,这与SQL Express以及其它版本一致
- 客户端使用相同的T-SQL来与LocalDB连接。
- 应用程序使用同样的提供程序与LocalDB连接
- LocalDB不会创建任何数据库服务
- LocalDB进程会自动启动和关闭。
尽管LocalDB在简单性和易用性方面与SQL Server Compact类似,但还有些区别:SQL Compact是作为进程内的DLL运行,而LocalDB则是在单独的进程中运行;SQL Compact只提供了有限的RDBMS功能,而LocalDB的功能更加丰富,包括存储过程、几何和地理的数据类型等等;SQL Compact只能有很少的内存跟踪记录,它的二进制数据最大为4MB,而LocalDB的二进制数据最大可以140MB。
LocalDB并不是要取代SQL快捷版,而是要让开发者能够花费最少的精力来开发应用程序。微软会继续为用户提供免费的SQL Server快捷版,他们可以在上面运行小型的评估项目,数据库大小的限制为10GB。
文章来源:IT专家网

