摘要:昨天发现有些错误,特此更正。程序如下:今天不能用插入代码烦死了,直接来了 using System;ClassA{public virtual void M(){Console.WriteLine("A");}}ClassB:ClassA{public override void M(){Conso...
阅读全文
摘要:实现多态的基本条件: (1) 基类含有虚方法 (2) 继承类把这个虚方法重新实现了 (3) 继承类也可能没有重新实现基类的所有虚方法,因此对于这些没有被重新实现的虚方法不能发生多态。 c#中实现多态性的方法与要求: (1)虚方法用virtual声明。虚方法可以有方法体,在基类调用它时可以执行。(...
阅读全文
摘要:对象的创建 对象是引用类型,创建在堆中,使用new关键字。只有在使用new关键字调用类的构造方法后才进行内存分配。当实例化类为一个对象时,对象中并不保存对象的值,而是保存在堆中创建的这个对象的地址。从这开始,一个对象的生存期就开始了。对象的销毁 在C#中对象的销毁是由垃圾收集器(CLR)控制的,我们...
阅读全文
摘要:C#中的类型转换C#取消了不安全的类型转换。不能把一个整型强制转换成一个引用类型(如对象),而当向下转换时,C#验证这种转换是正确的。(也就是说,派生类真的是从向下转换的那个类派生出来的。)边界检查是C#的一部分。再也不会出现这种情况:当数组实际只定义了n-1个元素,却超额地使用了n个元素。算术运算...
阅读全文
摘要:.NET的所有类型都是由基类System.Object继承过来的,包括最常用的基础类型:int, byte, short,bool等,就是说所有的事物都是对象。但这样造成了较低的效率,比如简单的两个数相加,bool取反都会导致从堆(Heap)中分配内存。怎样解决这个问题呢?.NET把类型分成了两类:...
阅读全文
摘要:思考了好久,仍不得其要,在这贴出,希望各位帮个忙。谢谢!
阅读全文
摘要:编程思想的发展 面向过程 面向对象 新的发展对面向对象的补充有 面向方面面向对象的三种表现效果 封装 继承 多态面向对象的实质 用类对现实世界进行抽象,用对象对现实世界的存在和运行进行模拟,使程序世界更加接近于现实世界。 封装后的事物有接口和外界联系,有封装体对外界不可见。即: 封装=接口+ 封装体...
阅读全文
摘要:昨天理顺了一下数组学习知识,又看了几本书上关于数组的说法,数组的形象逐渐在我脑子里清晰了。
阅读全文
摘要:定义代表后必须再定义事件接口,在组件中为了能让用户自定义某事件的处理方法,所以 组件必需提供事件接口.如果只是继承于单个已有的Windows控件,可以重载已知的方 法 进行添加自己的处理,也可以声明自定义的事件接口.而若组件中包含多个控件,应该根 据实际需要声明事件接口,此处本人就两个按钮的 使用而...
阅读全文
摘要:最近学习方法重载,有的书中说方法重载就是多态性的实现方法;有的说他们有本质区别弄得我无所适从,求各位老大为我解惑,在这先谢谢了! 重载不同于多态,按rexsp(http://rexsp.cnblogs.com/) 老兄的观点,关键点是晚邦定,虚函数是典型的多态。virtual,多态是指在基类中定义...
阅读全文
摘要:这几天又有了关于异常的几点积累,是从别人那学到的,即在这里以更好的掌握。异常处理通常有两种观点:1、 发生异常后还允许程序在另一处继续执行,而不致使整个程序中断。2、 结构化异常:出错后即不可继续执行,即使程序中断。C#中采用的是结构化异常,但也可以实现发生异常后继续执行的效果:用异常的嵌套,在嵌套...
阅读全文