- 浏览: 1652174 次
- 性别:
- 来自: 福州
文章分类
- 全部博客 (583)
- strust2.0 (14)
- hibernate2.0 (5)
- java (13)
- javaScript (59)
- AJAX (8)
- TFS (6)
- 其它 (20)
- CSS (23)
- asp (18)
- Dojo (5)
- 项目管理 (3)
- SQLServer (25)
- oracle (26)
- .NET (221)
- 开源系统 (6)
- 常识 (41)
- 软件架构 (1)
- My SQL (1)
- SilverLight (10)
- Flex (1)
- window7 (1)
- 网络安全 (2)
- CMS (1)
- ECShop (4)
- 邮件系统 (9)
- Linq (0)
- 淘宝店铺经营宝典 (0)
- flash插件 (1)
- Hubble.net全文检索 (1)
- 在线编辑器 (1)
- 正则表达式 (1)
- 创业 (1)
- asp.net mvc (1)
- 全文检索 (0)
- 全文检索 HubbleDotNet (1)
- Android (27)
- TFS bin (1)
最新评论
-
z小小Jean:
有具体的解决方法吗
用命名imp导入DMP时报无法解析指定的连接标识符的解决办法 -
njoiop:
这些都是常用接口,IP地址、手机归属和身份证查询接口,基站定位 ...
IP地址、手机归属和身份证查询接口 -
Fs_sky:
那导出DMP如何包含序列等其他东西?
在plsql中如何导出dmp文件 -
qiywtc:
请问该怎么判断视频的格式再选择对应的播放格式来播放啊?
asp.net各种类型视频播放代码(全) -
xinghenhouzi:
楼主说的版本不同无法导入导出是什么意思?我用10g的exp.e ...
在plsql中如何导出dmp文件
今天碰到sealed关键字,以前还真没有注意到过。上网,发现一个讲解的很容易理解。
sealed的中文意思是密封,故名思义,就是由它修饰的类或方法将不能被继承或是重写。
sealed关键字的作用:
在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止扩充类重写此方法。
sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。
密封类:
密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承。如果试图将一个密封类作为其它类的基类,C#将提示出错。理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。
在哪些场合下使用密封类呢?实际上,密封类中不可能有派生类。如果密封类实例中存在虚成员函数,该成员函数可以转化为非虚的,函数修饰符virtual 不再生效。
让我们看下面的例子:
如果我们尝试写下面的代码
C#会指出这个错误,告诉你SealedClass 是一个密封类,不能试图从SealedClass 中派生任何类。
密封方法:
C#还提出了密封方法(sealedmethod) 的概念,以防止在方法所在类的派生类中对该方法的重载。对方法可以使用sealed 修饰符,这时我们称该方法是一个密封方法。
不是类的每个成员方法都可以作为密封方法密封方法,要作为密封方法必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed 修饰符总是和override 修饰符同时使用。请看下面的例子代码:
类B 对基类A 中的两个虚方法均进行了重载,其中F 方法使用了sealed 修饰符,成为一个密封方法。G 方法不是密封方法,所以在B 的派生类C 中,可以重载方法G,但不能重载方法F。
转载自:http://www.cnblogs.com/iamdaiyuan/archive/2007/02/06/642442.html
----------------------------------------------------------------------
注意:sealed类中的属性和方法,可以是public类型或private类型,但不可以是protected类型的
protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。通过这样的解释来看,protected修饰的属性或方法,有被继承的意思,所以...(只是个人的猜测)
sealed的中文意思是密封,故名思义,就是由它修饰的类或方法将不能被继承或是重写。
sealed关键字的作用:
在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止扩充类重写此方法。
sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。
密封类:
密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承。如果试图将一个密封类作为其它类的基类,C#将提示出错。理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。
在哪些场合下使用密封类呢?实际上,密封类中不可能有派生类。如果密封类实例中存在虚成员函数,该成员函数可以转化为非虚的,函数修饰符virtual 不再生效。
让我们看下面的例子:
abstract class AbstractClass { public abstract void Method( ) ; } sealed class SealedClass: AbstractClass { public override void Method( ) { //... } }
如果我们尝试写下面的代码
class OtherClass: SealedClass { }
C#会指出这个错误,告诉你SealedClass 是一个密封类,不能试图从SealedClass 中派生任何类。
密封方法:
C#还提出了密封方法(sealedmethod) 的概念,以防止在方法所在类的派生类中对该方法的重载。对方法可以使用sealed 修饰符,这时我们称该方法是一个密封方法。
不是类的每个成员方法都可以作为密封方法密封方法,要作为密封方法必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed 修饰符总是和override 修饰符同时使用。请看下面的例子代码:
using System ; class A { public virtual void F( ) { Console.WriteLine("A.F") ; } public virtual void G( ) { Console.WriteLine("A.G") ; } } class B: A { sealed override public void F( ) { Console.WriteLine("B.F") ; } override public void G( ) { Console.WriteLine("B.G") ; } } class C: B { override public void G( ) { Console.WriteLine("C.G") ; } }
类B 对基类A 中的两个虚方法均进行了重载,其中F 方法使用了sealed 修饰符,成为一个密封方法。G 方法不是密封方法,所以在B 的派生类C 中,可以重载方法G,但不能重载方法F。
转载自:http://www.cnblogs.com/iamdaiyuan/archive/2007/02/06/642442.html
----------------------------------------------------------------------
注意:sealed类中的属性和方法,可以是public类型或private类型,但不可以是protected类型的
protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。通过这样的解释来看,protected修饰的属性或方法,有被继承的意思,所以...(只是个人的猜测)
发表评论
-
【转】C#定时执行某个程序
2015-03-16 17:33 733using System; using System. ... -
多行文本框字符数长度验证的解决方案
2012-03-02 16:04 1203在ASP.NET系统中经常会遇到验证文本框长度,比如数据库里是 ... -
【转】asp.net(c#)通过两个点的经纬度计算距离
2012-01-12 14:14 1383原理: 地球赤道上环绕地球一周走一圈共40075.04公里 ... -
【转】GSM手机短信软件的实现(C#)
2011-11-30 13:55 1310http://www.cnblogs.com/Engin/ar ... -
[转]C#开发短信收发软件的原理
2011-11-16 16:44 1651坛子里好像很多人对如何自己用C#开发手机短信有兴趣,正好我也做 ... -
TCPClient 类实现网络互联、通信
2011-10-29 11:16 2942TcpClient 为 TCP 网络服务提供客户端连接。 S ... -
Hubble.Net实现全文检索
2011-07-25 19:30 4036一、 下载安装 到Hubble.net 项目首页 http: ... -
c# 获取当前周第一天、最后一天,当前月第一天、最后一天的实现代码
2011-04-17 18:39 5291获取当前周工作日第一天、最后一天 int dayOfWee ... -
c#通过调用7z.exe实现解压文件
2011-03-05 15:47 48017-Zip 简介 7-Zip 是一款号称有着现今最高压缩比的 ... -
【转】IEnumerable 和 IEnumerator 接口
2011-03-04 17:12 2028类继承关系:public interface IQueryab ... -
【转】C#获取文件的绝对路径
2011-03-04 17:08 2484要在c#中获取路径有好多方法,一般常用的有以下五种: ... -
ListBox之间的数据项的移动操作
2010-09-29 11:04 1559<%@ Page Language="C# ... -
【转】asp.net中URL参数传值中文乱码的三种解决办法
2010-09-21 22:31 3418在做Asp.Net开发的时候,经常会遇到页面乱码的问题,下面是 ... -
【转】ASP.NET文件下载函数
2010-09-21 22:29 1406在你的Page_Load中添加这样的代码: Page.Re ... -
【转】在ASP.NET中实现多文件上传
2010-09-21 22:25 1238在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET ... -
[转]ASP.NET中常用的文件上传下载方法
2010-09-21 22:23 1816文件的上传下载是我们在实际项目开发过程中经常需要用到的技 ... -
HTML文章中截取摘要的问题[转]
2010-06-09 10:46 1877博客系统通常的做法是,在博客的首页只显示文章的摘要,点击标题进 ... -
获取 asp:Button 控件的的ComandName值的方法
2010-05-22 17:31 1252protected void btn_Save_Click ... -
ASP.NET防止用户多次登录的方法
2010-05-06 12:34 1580常见的处理方法是,在 ... -
使用 Enter 键提交表单
2010-04-27 14:04 1337一、使用 JS 代码 我们在表单里面的 TextBox (as ...
相关推荐
c# listview 使用方法c# listview 使用方法c# listview 使用方法c# listview 使用方法c# listview 使用方法c# listview 使用方法c# listview 使用方法c# listview 使用方法c# listview 使用方法c# listview 使用方法...
Seal Report 是一个开源报表工具,使用 C# 编写,基于 Microsoft .Net Framework 架构。该工具提供了一个完整的框架,用于从任何数据库生成日常报告和仪表板。 Seal Report 的主要特点包括: 1. 动态 SQL 源:使用...
更新数据库使用DataAdapter的Update方法,它会根据数据行的状态(如已修改、新增或已删除)执行相应的SQL命令(UpdateCommand、InsertCommand和DeleteCommand)。 3. 约束和验证:DataTable的Constraints集合允许...
下面我们将通过实例详细分析C#中DataBindings的用法。 首先,我们来看一个简单的例子,如何使用DataBindings将TextBox控件的Text属性与TrackBar控件的Value属性绑定: ```csharp textBox1.DataBindings.Add("Text...
C# ,RichTextBox,使用方法 C# ,RichTextBox,使用方法 C# ,RichTextBox,使用方法 C# ,RichTextBox,使用方法 C# ,RichTextBox,使用方法 C# ,RichTextBox,使用方法 C# ,RichTextBox,使用方法
C#网站制作学习到的panel用法例子,主要演示了怎么使用panel控制panel内部控件的显示、隐藏。例子是我从网上找的,我试过可以用。
在探讨C#窗体中`Invoke`和`BeginInvoke`方法的使用及其重要性之前,我们首先需要理解.NET框架下的多线程与GUI操作的基本原则,以及为何这两者在跨线程更新GUI时不可或缺。 #### 一、为什么Control类提供了Invoke和...
12. **命名空间(Namespace)**:C#使用命名空间来组织和管理代码,避免命名冲突。 13. **异构集合**:如ArrayList和LinkedList,它们分别基于数组和链表实现,适用于不同性能需求的场景。 14. **多线程编程**:C#...
C# return 返回的几种用法 return View(); 返回和控制器同名视图 return Content("我是一段文本", "text/html"); return Redirect("http://www.baidu.com/"); 返回URL重定向 还有好多种用法哦,下载了看吧。
在本示例中,我们将深入探讨C#中的迭代用法,特别关注`foreach`循环,这是在C#中进行迭代最常用的方法。 `foreach`循环用于遍历实现了`IEnumerable`接口的对象,这包括数组和各种集合类型。它的基本语法如下: ```...
本篇文章将详细介绍`Bitmap`类的基本使用方法,包括其构造函数、属性、方法以及如何与其他图形组件交互。 1. **Bitmap类的创建** - `Bitmap(int width, int height)`:创建一个指定宽度和高度的新空白位图。 - `...
C#控件用法大全,包括各种窗体控件,数据控件。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
C#基本控件用法(winform) C#中的控件用法是非常重要的,尤其是在winform应用程序中。今天,我们将来学习一些基本的控件用法,包括Button、CheckBox、ComboBox、DataGridView、ListView、TreeView和MdiForm等。 ...
正确使用`set`和`get`方法可以显著提高代码的安全性、一致性和可维护性,是每个C#开发者应该熟练掌握的重要概念。 通过以上的分析,我们可以看出C#的`set`和`get`用法不仅仅是一种简单的数据访问机制,它们还提供了...
本文实例讲述了C#中volatile与lock用法,分享给大家供大家参考。具体分析如下: 一、C#中volatile volatile是C#中用于控制同步的关键字,其意义是针对程序中一些敏感数据,不允许多线程同时访问,保证数据在任何访问...
在标题和描述中提到的C# Demo项目,主要展示了RabbitMQ的基础用法,特别是如何封装RabbitMQ.Client库以简化操作,并演示了三种不同的Exchange(交换机)的使用。交换机是RabbitMQ中的核心组件,它决定了消息如何路由...
泛型是C#中一个强大的特性,允许在定义类、接口和方法时使用类型参数,从而创建可以处理多种数据类型的通用代码。例如,List就是一个泛型类,T代表了存储的元素类型。泛型提高了代码的复用性和类型安全性。 C#还...
本篇文章将深入探讨C#中常见的工业控件及其使用方法。 一、模拟仪表控件 模拟仪表控件如指针式仪表盘,常用于显示实时数据,如温度、压力等。C#中可以使用第三方库如DevExpress或Telerik提供的控件来实现。设置模拟...
C# Socket、TCPClient、TCPListener 用法详解 C# 中的 Socket 编程是基于 Windows Sockets (Winsock) 接口的托管实现,提供了一个强大且灵活的网络编程模型。在本文中,我们将详细介绍 C# 中的 Socket 编程,包括 ...
c# picturebox使用方法 优化界面显示