Jincw! A za A za Fighting!

既然选择了远方,便只顾风雨兼程!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2007年4月28日

摘要: 一.构造函数与析构函数的原理  作为比C更先进的语言,C#提供了更好的机制来增强程序的安全性。C#编译器具有严格的类型安全检查功能,它几乎能找出程序中所有的语法问题,这的确帮了程序员的大忙。但是程序通过了编译检查并不表示错误已经不存在了,在“错误”的大家庭里,“语法错误”的地位只能算是冰山一角。级别高的错误通常隐藏得很深,不容易发现。  根据经验,不少难以察觉的程序错误是由于变量没有被正确初始化或... 阅读全文

posted @ 2007-04-28 16:41 西瓜K菠萝 阅读(291) 评论(0) 推荐(0) 编辑

摘要: 1.当由指针调用由子类(或某一个类)实例化的对象时(不管此指针是指向谁的那个类型的,只要合法),当指针调用此对象中的函数时(不管是子类中添加的还是由父类继承来的),如果此函数是非虚拟函数,则首先在那个类中寻找这个函数,若找不到则依次向父类中寻找,直至找到(如果找不到,那此程序就出错了,呵呵),但不会向下向子类中寻找;如果此函数是虚拟函数,则就要严重关注此实例化对象,不管是先前指针所指向的还是后来又... 阅读全文

posted @ 2007-04-28 16:25 西瓜K菠萝 阅读(862) 评论(1) 推荐(0) 编辑

摘要: C#中的数据可以分为两大类:值类型(Value Type)和引用类型(Reference Type)。 值类型的对象,继承自System.ValueType类(此类的对象却是引用类型的),内容直接储存在栈上(以及MSDN中提到的“或在结构中以内联方式分配的”——“or allocated inline in a structure”);引用类型的对象,其内容存储于堆上,栈上的相应变量名下只存储该处... 阅读全文

posted @ 2007-04-28 16:02 西瓜K菠萝 阅读(1223) 评论(1) 推荐(0) 编辑

2007年4月25日

摘要: 题目:猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言) 要求: 1.要有联动性,老鼠和主人的行为是被动的。 2.考虑可扩展性,猫的叫声可能引起其他联动效应。要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象 .构造出Cat、Mouse、Master三个类,并能使程序运行(2分) 从Mouse和... 阅读全文

posted @ 2007-04-25 22:23 西瓜K菠萝 阅读(1088) 评论(0) 推荐(0) 编辑

摘要: 细心的朋友可能发现,C#虽然可以重载操作符,但和C++比较起来,却有很大的不同。定义的时候重载操作符方法必须是static,而且至少有一个参数(一目和二目分别是一个和两个),C#和C++比起来,最重要的特征是:;==、!=;true、false必须成对出现,即重载了“”,重载了“==”就必须重载“!=”,重载了“true”就必须重载“false”;另外,还必须实现基类object的两个虚方法:Ge... 阅读全文

posted @ 2007-04-25 01:00 西瓜K菠萝 阅读(353) 评论(0) 推荐(0) 编辑

摘要: 经常,一个类会实现多个接口,比如用户的一个控件继承自"IEdit"和"ICombo",每个接口无疑都有一个Paint方法来供子类实现如何画他们,但是多重继承就会出现问题,默认情况下,C#止允许实现Paint方法。现在有一个比较钻牛角尖的问题,如何在派生的类里面实现这两个接口的相同名称的方法呢? 通过试验,翻阅MSDN,我总结了这么几条规律:本文可参考 MSDN 配合理解 1。要么只实现一个方法,... 阅读全文

posted @ 2007-04-25 00:53 西瓜K菠萝 阅读(903) 评论(0) 推荐(0) 编辑

摘要: 1、struct不允许显示声明其无参数构造函数,这不同于class2、struct不允许声明时,初始化其数据成员值3、struct作为参数传递时,可考虑使用ref,以优化性能:因为是值类型(但要注意其值的改变)4、struct无继承,但其本身继承自System.ValueType ----> System.Object5、struct可看作是缩小的class,适宜小数据成员时使用6、理解如下代码:... 阅读全文

posted @ 2007-04-25 00:42 西瓜K菠萝 阅读(425) 评论(0) 推荐(0) 编辑

摘要: 类型可分为:值类型,引用类型 值类型:直接存放真正的数据,值类型都有固定的长度,值类型的变量都保存在堆栈(stack)上。作为值类型的变量,每个都有自己的数据,因此对一个变量的操作不会影响其他变量。 引用类型:存储读数据的内存地址的引用,位于受管制的堆(Heap)上作为引用类型的变量可以引用同一对象;因此对一个变量的操作会影响另一个变量所引用的同一对象。值类型可分为3大类: ... 阅读全文

posted @ 2007-04-25 00:31 西瓜K菠萝 阅读(295) 评论(0) 推荐(0) 编辑

2007年4月12日

摘要: .NET设计模式(2):单件模式(Singleton Pattern) 单件模式(Singleton Pattern) ——.NET设计模式系列之二 概述 Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以... 阅读全文

posted @ 2007-04-12 15:54 西瓜K菠萝 阅读(515) 评论(3) 推荐(0) 编辑

2007年3月19日

摘要: 要理解第一个问题,即,对于一个动态生成的DropDownList对象,为什么先添加ListItem,后调用父控件的Controls.Add,其状态并没有保存,其关键在于理解TrackViewState的调用以及动态控件加入父控件的Controls后的阶段“追赶”过程。 如果你在文档里查询Control的TrackViewState方法描述,其中说到,只有调用该方法后,view-state的变化才... 阅读全文

posted @ 2007-03-19 17:14 西瓜K菠萝 阅读(613) 评论(0) 推荐(0) 编辑