Welcome 微信登录

首页 / 软件开发 / C#

C#高级(一)面向对象

C#高级(一)面向对象

C#高级(一)面向对象2011-08-16 博客园 asp114对于面向对象,有N多大师写过N多文字。我也不敢妄言。就简单说说自己的认识。我们先来看看“对象”,什么是对象?我们在现实生活中所能看到的一切都可以称为对象 。比如,企业、医院、宠物、植物、人。。。等等。在面向对象编程中,对象往往被当作一个类,类有属 性和行为。我们以医院为例来说,医院有医生,有护士等,在医院可以做CT,B超等。在面向对象编程中 ,我们定义一个hospita...
C#高级(三)构造函数

C#高级(三)构造函数

C#高级(三)构造函数2011-08-16 博客园 asp114构造函数是和类名相同的类的一个方法,如果没有显式的声明,在系统会在编译的时候,自动生成一 个不带参数的,不执行任何动作的构造函数。但如果显式的声明了构造函数,系统就不会自动生成了。如果声明的构造函数是有参数的构造函数, 我们在实例化类的时候,就必须以该构造函数而实例化类。看下面的代码:using System;namespace gosoa.com.cn{public class test{p...
C#高级(四)结构,部分类和Object类

C#高级(四)结构,部分类和Object类

C#高级(四)结构,部分类和Object类2011-08-16 博客园 asp114一、结构结构和类几乎一样,在定义的时候只需要把class写成 struct 。为结构定义函数和为类定义函数完全 一样。那什么时候用结构呢?在一些时候,我们仅需要一个小的数据结构。如果用类的话性能是有损失的, 而采用结构就比较合适。注意,结构是值类型,而类是引用类型;结构不支持继承;结构在编译时,编译器总会提供一个无参 的构造函数;在结构中不允许定义无参的构造函数。二、部分类...
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中的核心组成元素,通常都是使用类来 “封装”对象(属性、行为)。在经典图书《代码大全》里定义:“创建高质量的类,第一步,可能也是 最重要的一步,就是创建一个好的接口。...
<< 191 192 193 194 195 196 197 198 199 200 >>