摘要: 特点:1.函数前面不能有任何修饰符2.只能包含其成员的签名,不能包含任何成员的执行方式(抽象函数没有声明为abstract的函数可以包含执行方式)3.只能包含,属性,方法,索引器和事件4.不能实例化接口5.不能有构造函数,不能有字段(字段隐含了某些内部的执行方式)6.不允许有运算符的重载7.不允许声明为虚拟的或静态8.继承了接口的类必须实现接口中的方法。View Code 1 interface Interface12 {3 void Say();4 }5 6 public class Father : Interface17 {8 //... 阅读全文
posted @ 2012-03-14 14:57 猪特曼 阅读(291) 评论(0) 推荐(0) 编辑
摘要: PS:1.不能把类定义为projected,private和projected internal,因为对于类来说没有意义,但是可以应用于嵌套类型。1 class Father2 {3 private class Son//这是合法的4 {5 6 }7 }2.projected internal 是projected和internal的合并同名是or合并并不是and合并。 阅读全文
posted @ 2012-03-14 14:13 猪特曼 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 作用:初始化类的成员字段如果没有显示声明一个构造函数,系统会默认分配一个无参的构造函数。显示声明:1 class Father2 {3 public Father()//1.签名和类名一致 2.没有返回值4 {5 6 }7 }最基本的构造函数只能初始化为标准的默认值例如:引用类型为空引用,数字类型为0,bool为false构造函数的重载:class Father { private string name; private int age; //构造函数的重载 publ... 阅读全文
posted @ 2012-03-14 12:13 猪特曼 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 关键字:sealed范 围:类,属性和方法作 用:对于类来说不能被继承,对于方法来说不能被重写。相当于java中的final使用环境:防止类库或自己写的方法被恶意扩展密封类:1 sealed class Father2 {3 4 }被sealed修饰的方法将不能被继承密封方法:1 public virtual void say()//先将基类声明为虚方法2 { 3 4 }5 public sealed override void say() //密封6 {7 base.say();8 ... 阅读全文
posted @ 2012-03-14 11:03 猪特曼 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 适用范围:类和函数特点:1.抽象类不能被实例化2.抽象函数没有执行代码 3.必须的非抽象的派生类中重写注意:如果类包含抽象函数,那么该类也是抽象的,也必须声明为抽象的1 public abstract void SayHello()2 {3 //抽象函数没有代码主体,这样是不正确的4 }5 6 public abstract void SayHello();//true class Father { public abstract void SayHello(); //错误错误 1... 阅读全文
posted @ 2012-03-14 10:42 猪特曼 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 概念:如果基类和派生类中都声明了签名相同的方法,但该方法没有声明为virtual和override,派生类方法就会隐藏父类的方法风险:会造成调用错误。 class Son:Father { public new void SayHello()//显示的用New来声明函数以隐藏父类中的同名函数 { base.SayHello(); } }隐藏的方法调用: static void Main(string[] args) { //实例化子类 Son son = ne... 阅读全文
posted @ 2012-03-14 10:31 猪特曼 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 在基类中被标记为virtual的函数可以在派生类中重写函数默认不是虚拟的要使用关键字virtual显示声明(除构造函数外)。字段和静态函数都不能被声明为virtual,因为这个概念只适合类中的实例函数成员有意义。class Father { public virtual void SayHello()//将函数标记为虚方法 { Console.Write("Hello!"); } } class Son:Father { public override void SayHello()//在派生类中重... 阅读全文
posted @ 2012-03-14 10:14 猪特曼 阅读(1158) 评论(0) 推荐(0) 编辑
摘要: 继承的类型:继承分为:1.实例继承:一个类派生于一个基类,拥有该类型的所有成员和函数。2.接口继承:一个类只继承了函数的签名,没有继承任何实现代码。多重继承:C#类(除Object类外)都可以继承一个基类和多个接口,因为Object类是任何类的基类。namespace text{ class Son:Father,Interface1,Interface2//只能继承一个基类,和任意多个接口 { }}结构和类:结构不支持继承,但是会自动派生自System.ValueType,但是可以继承接口,简单点说就是不支持实现继承只支持接口继承 struct Son:Father ... 阅读全文
posted @ 2012-03-14 09:49 猪特曼 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 最近,在做一个使用线程控制下载文件的小程序(使用进度条控件显示下载进度)时,遇到这样的问题,错误显示:未处理的“System.InvalidOperationException”类型的异常出现在 System.Windows.Forms.dll 中。其他信息: 线程间操作无效: 从不是创建控件“progressBar1”的线程访问它。以前很少做关于线程的程序,而且对于线程的理解也不是很深,无奈只好百度之。很快从网上找到了解决方案:方法1、在Form Load事件中加入System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = f 阅读全文
posted @ 2012-02-14 14:43 猪特曼 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。 这里有一张图,表明.. 阅读全文
posted @ 2011-11-17 20:00 猪特曼 阅读(187) 评论(0) 推荐(0) 编辑