2013年10月5日

面向对象 封装、继承、多态

摘要: 首先我要说的是,封装、继承、多态并不是针对C#语言提出来的,他是一个在面向对象思想下产生的一个概念。所以想要弄明白封装、继承、多态,首先就要先了解面向对象概念。 1.封装:当我们提及面向对象的时候,这个对象怎么来?就是通过我们人为的封装得来。封装就是把一些特征或功能组合到一个抽象的对象上。 就比如说电脑:它的特征是有一个显示屏,有一个主机,有鼠标和键盘等等。功能有计算等。那我们把这些特征和功能组合到“电脑”这个 抽象的名词上时,“电脑”于是就有了这些特征和功能。但这个“电脑”不是实物,它代表所有名叫“电脑”的实物的名称。在C#中, 我们把封装好的抽象的名词叫"class", 阅读全文

posted @ 2013-10-05 23:14 ZorroBubble 阅读(206) 评论(0) 推荐(0) 编辑

堆和栈的区别(heap & Stack)

摘要: 理解堆与栈对于理解.NET中的内存管理、垃圾回收、错误和异常、调试与日志有很大的帮助。垃圾回收的机制使程序员从复杂的内存管理中解脱出来,虽然绝大多数的C#程序并不需要程序员手动管理内存,但这并不代表程序员就无需了解分配的对象是如何被回收的,在一些特殊的场合仍需要程序员手动进行内存管理。在32位的处理器上,每个进程的虚拟内存为4GB,.NET会在这4GB的内存块中开辟出3块内存,分别作为栈、托管堆、和非托管堆堆(heap):堆是从下往上分配,所以已用的空间在自由空间下面,C#中所有引用类型的对象分配在托管堆上,托管堆在内存上是连续分配的,并且内存对象的释放受垃圾收集机制的管理,效率相对于栈来说要 阅读全文

posted @ 2013-10-05 22:07 ZorroBubble 阅读(175) 评论(0) 推荐(0) 编辑

C#核心概念 装箱与拆箱(boing & unboxing)

摘要: C#的装箱、拆箱概念经常理解不透,特意找了文章总结一下,希望对大家学习有帮助,感谢前辈们的总结文章:C#核心概念--装箱和拆箱(什么是装箱和拆箱)装箱(boxing)和拆箱(unboxing)是C#类型系统的核心概念.是不同于C与C++的新概念!,通过装箱和拆箱操作,能够在值类型和引用类型中架起一做桥梁.换言之,可以轻松的实现值类型与引用类型的互相转换,装箱和拆箱能够统一考察系统,任何类型的值最终都可以按照对象进行处理. C#语言中的所有类型都是由基类System.Object继承过来的,包括最常用的基础类型:int, byte, short,bool等等,就是说所有的事物都是对象。如果申明这 阅读全文

posted @ 2013-10-05 21:40 ZorroBubble 阅读(190) 评论(0) 推荐(0) 编辑

导航