上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 19 下一页
摘要: 有一个这样的字符串 1Q,1T,1Q,1m,1m,1m,1Q,1P,2T,1R怎样显示结果为3Q+3T+3m+1P+1Rcreate function dbo.fn_split (@inputstr varchar(8000), @seprator varchar(10))returns @temp table (a varchar(200))as begindeclare @i intset @inputstr = rtrim(ltrim(@inputstr))set @i = charindex(@seprator, @inputstr)while @i >= 1begininser 阅读全文
posted @ 2011-09-15 15:54 佳园 阅读(1066) 评论(0) 推荐(0) 编辑
摘要: overload:重载指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。override:过载也称重写是指子类对父类中虚函数或抽象函数的“覆盖”(这也就是有些书将过载翻译为覆盖的原因),但是这种“覆盖”和用new关键字来覆盖是有区别的。new:覆盖指的是不同类中(基类或派生类)有两个或多个返回类型、方法名、参数都相同,但是方法体不同的方法。但是这种覆盖是一种表面上的覆盖,所以也叫隐藏,被覆盖的父类方法是可以调用得到的。重载覆盖的发生条件:重载,必然发生在一个类中,函数名相同,参数类型或者顺序不同构成重载,与返回类型无关重写,必然发生在基 阅读全文
posted @ 2011-09-15 10:26 佳园 阅读(34133) 评论(7) 推荐(12) 编辑
摘要: 若一个实例方法声明前带有virtual关键字,那么这个方法就是虚方法。虚方法与非虚方法的最大不同是,虚方法的实现可以由派生类所取代,这种取代是通过方法的重写实现的(以后再讲)虚方法的特点:虚方法前不允许有static,abstract,或override修饰符虚方法不能是私有的,因此不能使用private修饰符虚方法的执行:我们知道一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,而虚函数在编译期间是不被静态编译的,它的相对地址是不确定的,它会根据运行时期对象实例来动态判断要调用的函数,其中那个申明时定义的类叫申明类,那个执行时实例化的类叫实例类。如:A a 阅读全文
posted @ 2011-09-14 14:29 佳园 阅读(38451) 评论(13) 推荐(19) 编辑
摘要: 本文意在巩固基础知识,并不是对其进行深入剖析,如若对各位高手没有什么作用,请绕过。本文为原创文,难免会有一些小得瑕疵,若是有故意找茬者,请勿评论,以免有伤和气。所有示例均是博主测试过的,如有转载请标明出处,谢谢。抽象类:有时我们表达一些抽象的东西,它是一种概括,不需要它成为一种实体,所以面向对象便有了抽象类。具体来讲:一个员工,它属于一个公司,但是公司只是一个名称,我们不需要它成为一个实体,所以公司就是一个抽象类。何时必须声明一个类为抽象类?(面试题)当这个类中包含抽象方法时,或是该类并没有完全实现父类的抽象方法时。抽象类的特点:抽象类使用abstract修饰符,并且它只能是用作基类。抽象类不 阅读全文
posted @ 2011-09-13 13:48 佳园 阅读(7607) 评论(3) 推荐(1) 编辑
摘要: 本文意在巩固基础知识,并不是对其进行深入剖析,如若对各位高手没有什么作用,请绕过。本文为原创文,所有示例均是博主测试过的,欢迎大家批评指正,如有转载请标明出处,谢谢。继承、封装和多态是面向对象编程的重要特性。其成员被继承的类叫基类也称父类,继承其成员的类叫派生类也称子类。派生类隐式获得基类的除构造函数和析构函数以外的所有成员。派生类只能有一个直接基类,所以C#并不支持多重继承,但一个基类可以有多个直接派生类。继承是可以传递的。即:如果 ClassB 派生出 ClassC,ClassA 派生出 ClassB,则 ClassC 会继承 ClassB 和 ClassA 中声明的成员。classA{p 阅读全文
posted @ 2011-09-09 13:23 佳园 阅读(91281) 评论(15) 推荐(21) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 19 下一页