12 2009 档案

C#成员的继承
摘要:命名空间和类型具有“成员”。通常可以通过限定名来访问实体的成员。限定名以对实体的引用开头,后跟一个“.”标记,再接成员的名称。类型的成员或者是在该类型中声明的,或者是从该类型的基类“继承”的。当类型从基类继承时,基类的所有成员(实例构造函数、析构函数和静态构造函数除外)都成为派生类型的成员。基类中关于成员的可访问性的声明不能控制该成员是否可继承:继承性适用于任何成员,只要它们不是实例构造函数、静态构造函数或析构函数。然而,在派生类中可能不能访问已被继承的成员,原因或者是因为其已声明可访问性,或者是因为它已被类型本身中的声明所隐藏。 阅读全文

posted @ 2009-12-18 16:58 喝咖啡就蒜瓣儿 阅读(2926) 评论(0) 推荐(1) 编辑

【转】小议static
摘要:为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此函数控制)。 阅读全文

posted @ 2009-12-15 09:52 喝咖啡就蒜瓣儿 阅读(362) 评论(0) 推荐(1) 编辑

内存分配知识:全局,局部,静态变量
摘要:一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 程序结束后有系统释放 4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放 5、程序代码区—存放函数体的二进制代码。 阅读全文

posted @ 2009-12-15 09:29 喝咖啡就蒜瓣儿 阅读(4204) 评论(0) 推荐(2) 编辑

C#抽象类的构造函数
摘要:很容易理解,抽象类是需要被其他类继承的,这些子类是需要实例化的,实例化子类的时候是需要调用子类的构造函数的,而在默认情况下,在调用子类的构造函数前是先要调用基类的构造函数的,这一点和非抽象的类一样! 阅读全文

posted @ 2009-12-14 15:39 喝咖啡就蒜瓣儿 阅读(14168) 评论(0) 推荐(5) 编辑

C#访问修饰符
摘要: 阅读全文

posted @ 2009-12-13 18:48 喝咖啡就蒜瓣儿 阅读(298) 评论(0) 推荐(1) 编辑

关于C#里“浅表副本”的解释
摘要:一个集合的浅度拷贝意味着只拷贝集合中的元素,不管他们是引用类型或者是值类型,但是它不拷贝引用所指的对象。这就是说新集合中的引用和原始集合中的引用所指的对象是同一个对象。与此形成对比的是,深度拷贝不仅拷贝集合中的元素,而且还拷贝了这些元素直接或者间接引用的所有东东。这也就意味着,新集合中的引用和原始集合中的引用所指的对象是不同的。 阅读全文

posted @ 2009-12-13 16:30 喝咖啡就蒜瓣儿 阅读(4252) 评论(0) 推荐(2) 编辑

C#抽象类与接口的区别【转】
摘要:抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。 阅读全文

posted @ 2009-12-10 05:30 喝咖啡就蒜瓣儿 阅读(1249) 评论(0) 推荐(2) 编辑

导航

点击右上角即可分享
微信分享提示