Welcome 微信登录

首页 / 软件开发 / C#

C#高级(五)继承,派生类,派生类的构造方法

C#高级(五)继承,派生类,派生类的构造方法

C#高级(五)继承,派生类,派生类的构造方法2011-08-16 博客园 asp114一、基本概念首先我们来了解两个基本概念:实现继承和接口继承(1)、实现继承,表示一个类派生于一个基类型,并拥有该基类型的所有成员字段和函数。(2)、接口继承,表示一个类型只继承了函数的签名,没有任何实现的代码。在需要指定该类型具有某些可用的特性时,最好使用这种继承。注意,在C#中,不支持多重继承,但一个类却可以实现多个接口。同样,结构总是派生于System.ValueTy...
C#高级(六)接口,接口继承

C#高级(六)接口,接口继承

C#高级(六)接口,接口继承2011-08-16 博客园 asp114接口我们在前面也已经有所提及。接口的命名传统上都以大写I 开头。我们假设这样一种情况,一个系统有很多用户,我们可以查询某个用户是否存在,并且可以修改用户 的密码。但有可能某天我们的数据库从mysql 升级成为 sqlserver 。在这种情况下,我们看下面一个例 子。using System;namespace gosoa.com.cn{public interface IUserOpe...
C#高级(七)类型强制转换,拆箱,装箱

C#高级(七)类型强制转换,拆箱,装箱

C#高级(七)类型强制转换,拆箱,装箱2011-08-16 博客园 asp114一、装箱和拆箱装箱就是 将值类型转换为引用类型。拆箱就是 将引用类型转换为值类型。比如我们非常常用的 .ToString() 方法,就是典型的一个装箱的过程。再如下面的例子int i=10;object y=(object) i ; //这就是装箱int x=(int)y; //这是拆箱。二、对象的相等比较在C#中,有四种比较相等的方法。1、ReferenceEquals() ...
C#高级(九)C#数据结构,集合

C#高级(九)C#数据结构,集合

C#高级(九)C#数据结构,集合2011-08-16 博客园 asp114一、集合的基本概念在.NET中,对于数据结构的支持,即把许多类似的对象组合起来。最简单的数据结构就是数组。集合表示一组可以通过遍历每个元素来访问的的一组对象,特别是可以使用foreach循环来访问他们。 对象如果可以提供相关对象的引用,就是一个集合。称为使用foreach循环是集合的主要目的,集合没有提供其他特性。二、数组列表。数组列表类似数组,但数组列表是可以增大的。数组在规定的大...
数据结构(C#):单链表

数据结构(C#):单链表

数据结构(C#):单链表2011-08-16 博客园 飘遥(Zhenxing Zhou)与顺序表相比,链表有自己的特点:插入、删除操作无需移动元素;能够高效实现动态内存分配;但 不能按节点索引快速定位到节点;由于需要记录指针域,系统开销较大。本篇介绍单链表的实现,使用上一篇定义的接口。代码:/** File : SingleLinkedList.cs* Author : Zhenxing Zhou* Date : 2008-12-06* B...
数据结构(C#):堆栈

数据结构(C#):堆栈

数据结构(C#):堆栈2011-08-16 博客园 飘遥(Zhenxing Zhou)堆栈是一种后进先出的数据结构,在某些程序设计中经常用到。堆栈只能取得栈顶元素、压栈、出栈 、取得栈内元素数量及判断是否为空等操作。堆栈可以用顺序表、链表实现,有了前面顺序表及链表,堆栈实现非常简单,这里用单链表实现。1.实现代码/** File : Stack.cs* Author : Zhenxing Zhou* Date : 2008-12-07* B...
数据结构(C#):队列

数据结构(C#):队列

数据结构(C#):队列2011-08-16 博客园 飘遥(Zhenxing Zhou)队列的特点是先进先出,如同日常生活中的排队。队列有加入队尾,从队头删除元素,取得队尾元素 ,取得队头元素,取得队列长度,判断队列是否为空等操作。队列也可以可以用顺序表、链表实现,但队列最好不要用顺序表实现,因为元素加入队列和删除元素 中的一种操作总会引起全部元素的移动,效率极低(循环队列除外)。队列的实现非常简单,下面用前面介绍的单链表实现。代码:/** File :...
数据结构(C#):双链表

数据结构(C#):双链表

数据结构(C#):双链表2011-08-16 博客园 飘遥(Zhenxing Zhou)双链表每个数据节点都有两个指针,分别指向其后继和前驱节点。与单链表只能访问其后继结点相比 ,具有更大的灵活性;当然占用更多的存储空间。前面的单链表和这里的双链表都使用了空的头结点或称哑节点,目的是实现有序链表时更方便。直接看代码:/** File : DoubleLinkedList.cs* Author : Zhenxing Zhou* Date : ...
数据结构(C#):循环链表

数据结构(C#):循环链表

数据结构(C#):循环链表2011-08-16 博客园 飘遥(Zhenxing Zhou)循环链表可以是单链表,也可以是双链表。链表的尾节点的后继节点指向头结点便成了循环链表。我们在这里继承双链表实现循环链表,当到达双链表的表尾时,让游标指向第0个节点;当到达双链表 的开头时,让游标指向结尾节点,这样就实现了循环双链表。结尾用一个经典的约瑟夫问题来作循环链表 的应用示例。1.循环链表代码:/** File : CircularlyLinkedList...
C#对游戏手柄的编程开发-API篇(1)

C#对游戏手柄的编程开发-API篇(1)

C#对游戏手柄的编程开发-API篇(1)2011-08-16 博客园 Kingthy前段时间花38元从网上买了一对北通的USB游戏手柄,这样周末与晚上的休闲时间就可以玩玩孩儿时的 SFC与街机模拟游戏了。某日在某个网站上玩一个Flash游戏时,突然想到,如果也能使用手柄来玩Flash游戏,那该多爽 。 但可惜的是,目前的Flash都是不支持对游戏手柄进行编程,这不免是Flash中的一个遗憾。。虽然Flash中不支持对游戏手柄进行编程,但我们可以换种方法,做...
C#对游戏手柄的编程开发-API篇(2)

C#对游戏手柄的编程开发-API篇(2)

C#对游戏手柄的编程开发-API篇(2)2011-08-16 博客园 Kingthy回顾“被动方式”开发在C#对游戏手柄的编程开发-API篇(1)这篇文章中我们介绍了“被动方式”的开发。在此方式下,我们 的程序只扮演一个消息接收者。系统会定时告诉我们某个游戏手柄当前的状态,我们的程序接收到后再按 实际需要进行处理即可。但如果你是一个细心的人,你会发现如果直接按消息事件处理的话会存在一个问 题,如我们按下某个键...
C#编程利器之一:类(Class)

C#编程利器之一:类(Class)

C#编程利器之一:类(Class)2011-08-16 博客园 Beniao面向对象的程序设计(Object-Oriented Programming,简记为OOP)是一种功能非常强大的编程方法, 立意于创建软件重用代码,以类为基础去思考编程问题。类是OOP中的核心组成元素,通常都是使用类来 “封装”对象(属性、行为)。在经典图书《代码大全》里定义:“创建高质量的类,第一步,可能也是 最重要的一步,就是创建一个好的接口。...
C#编程利器之二:结构与枚举(Structure and enumeration)

C#编程利器之二:结构与枚举(Structure and enumeration)

C#编程利器之二:结构与枚举(Structure and enumeration)2011-08-16 博客园 Beniao在上一篇文章中,介绍了类如何封装程序中的对象.而实际中,出了类可以封装对象外,结构和枚举也可 以封装一些对象,本文将着重介绍结构和枚举这两个知识点的相关应用.一. 结构(Structure)什么是结构(Structure)?在C#里,Struct是一种值类型,通常用来封装小型相关变量组,和类有很大的相 似度.同类一样,它不但可以包含不...
C#编程利器之三:接口(Interface)

C#编程利器之三:接口(Interface)

C#编程利器之三:接口(Interface)2011-08-16 博客园 BeniaoC#接口是一个让很多初学者容易迷糊的东西,用起来好象很简单,定义接口,然后在里面定义方法, 通过继承与他的子类来完成具体的实现。但没有真正认识接口的作用的时候就觉得用接口是多此一举,当 然你这样想是绝对错误的。在软件设计中有一个非常重要的原则就是:面向接口编程,依赖与接口或抽象 层。可见接口在真正的开发中是多么的重要。在之前C#编程利器之一:类(Class)一文里介绍了类...
C#编程利器之四:委托与事件(Delegate and event) (上)

C#编程利器之四:委托与事件(Delegate and event) (上)

C#编程利器之四:委托与事件(Delegate and event) (上)2011-08-16 博客园 Beniao本文试图在.net Framework环境下,使用C#语言来描述委托、事件的概貌。希望本文能有助于大家理 解委托、事件的概念,理解委托、事件的用途,理解它的C#实现方法,理解委托与事件为我们带来的好处 。C#是一种新的语言,希望大家能通过本文清楚地看到这些,从而可以对委托、事件等技术进行更深入的 理解和探索。一. 委托委托的本质--在C#中...
C#编程利器之四:委托与事件(Delegate and event) (下)

C#编程利器之四:委托与事件(Delegate and event) (下)

C#编程利器之四:委托与事件(Delegate and event) (下)2011-08-16 博客园 Beniao二、事件1.了解概念事件就是当对象或类状态发生改变时,对象或类发出的信息或通知。发出信息的对象或类称为"事件源 ",对事件进行处理的方法称为"接收者",通常事件源在发出状态改变信息时,它并不知道由哪个事件接收者 来处理.这就需要一种管理机制来协调事件源和接收者,C++中通过函数指针来完成的.在C#中事...
<< 81 82 83 84 85 86 87 88 89 90 >>