博文
C#Doorstep2面向对象程序设计篇4(2008-04-03 16:31:00)
摘要:结构
一个类中的若干成员可以组合成结构体struct来处理。
事件 委托等概念请见后面解析。
静态成员与实例成员
C#的类定义中可以包含两种成员:静态成员和非静态成员(也即实例成员)。使用了static修饰符的方法为静态成员,反之则是实例成员。
(1)使用static修饰符声明属于类型本身而不是属于特定对象的静态成员。static修饰符可用于字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类型。
(2)静态成员属于类,在内存中只有一份,不必建立该类的实例,通过类名即可使用;而实例成员属于用该类创建的实例,要通过对象名使用。
(3)非静态方法可以访问类中包括静态方法在内的所有成员,而静态方法只能访问类中的静态成员。
类的方法前加了static关键词,则该方法为静态方法,反之为实例方法。静态方法为类所有,可以通过对象来使用,也可以通过类来使用。但一般提倡通过类名来使用,因为静态方法只要定义了类,不需用建立类的实例就可使用。静态方法只能使用类的静态成员。
实例方法必须通过类的实例来使用。实例方法可以使用类的非静态成员,也可以使用类的静态成员。
using System;
namespace Exam2_4
{
class Test
{
public int a;
//非静态成员
public static int b; //静态成员
public Test(int m, int n) //构造函数
......
C#Doorstep2面向对象程序设计篇3(2008-04-03 16:27:00)
摘要:索引器
索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同的是索引器包含参数。
定义索引的方式和定义属性非常类似,主要有两部分:使用this关键词。定义一个索引值。
//本案例说明如何声明私有数组字段元元元myArray和索引器。通过使用索引器可直接访问实例 b[i]
using System;
class IndexerClass
{
private int [] myArray = new int[100];
public int this [int index] //索引声明
{
get
{
if(index < 0 || index >= 100)
return 0;
else
return myArray[index];
......
C#Doorstep2面向对象程序设计篇2(2008-04-03 16:18:00)
摘要:方法(成员函数)
在C#中,数据和操作均封装在类中,数据是以成员变量的形式出现,而对数据的操作主要体现在方法的使用上。在类中,方法的一般格式为:
[方法修饰符] 返回值类型 方法名([参数列表]){方法体}
[方法修饰符] 默认为internal
Person类中定义了方法:public void Display(){} 实现从控制台输出人的姓名、性别和年龄。
C#方法(函数)的参数有四种类型:值参数、引用参数、输出参数和参数数组。
未用任何修饰符声明的参数为值参数。值参数在调用该参数所属的函数成员(方法、实例构造函数、访问器和运算符)时创建,并用调用中给定的实参值初始化。当从该函数返回时值参数被销毁。对值参数的修改不会影响到原自变量。值参数通过复制原自变量的值来初始化。
以下实例演示了四种参数传递方式。
using System;
namespace Exam2_3
{
class Class1
{
static void Swap(int a,int b)//a,b为值参数
{
int t;
t=a;a=b;b=t;
}
static void Swap1(ref int a,ref int b)//a,b为......
C#Doorstep2面向对象程序设计篇1(2008-04-03 16:12:00)
摘要:C#Doorstep2面向对象程序设计篇
一.面向对象机制
二.类和对象
1.类和对象的概念
--构造函数
--析构函数
--域(成员变量)
--方法(成员函数)
--属性 {get(),set()}
--索引器
--运算符 (operator)
-- 静态成员与实例成员 (static)
2.面向对象的基本特征
--类的继承
--多态性
--类成员的可访问性(private,protected,public,internal)
--密封类(sealed)
--抽象类(abstract)
--接口(interface)
--委托(delegate)
--事件(event)
一.面向对象机制
面向对象编程主要思想是将数据以及处......
C#Doorstep1基础概念篇(2008-04-02 22:54:00)
摘要:C#Doorstep1基础概念篇
1.NET定义
2.公共语言运行库CLR
3.NET框架类库
4.C#.NET
5.命名空间namespace
6.C#基本数据类型
--值类型
--引用类型
--装箱和拆箱
1.NET定义
.NET技术是微软公司推出的一个全新概念,它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。
.NET平台包括.NET框架和.NET开发工具等组成部分。.NET框架(Framework)是整个开发平台的基础,包括公共语言运行库和.NET类库。.NET开发工具包括Visual Studio.NET集成开发环境和.NET编程语言。
2.公共语言运行库CLR
公共语言运行库CLR(Common Language Runtime)是 .NET Framework 的基础。可以将运行库看作一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。
Visual Basic.NET
C#
托管C++
J#
其他语言
公共语言规范(CLS)
ASP.NET/Web应用/Web服务
Window窗体应用
ADO.NET与XML
.NET框架基础类库
公共语言运行时
操作系统
3.NETFrame类库
n .NET Framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合。
n 可使用 .NET Framework 开发下列类型的应用程序和服务:
n 控制台应用程序。
n Windows GUI 应用程序(Windows 窗体)。
n ......
C# 基本数据类型(2008-04-01 22:02:00)
摘要:
三. C# 基本数据类型
//值类型
C# 类型 .NET Framework 类型
bool System.Boolean
4Byte 32bit布尔型变量 逻辑值,true或者false,默认值为false
byte System.Byte
1Byte 8bit无符号整数无符号的字节,所存储的值的范围是0~255,默认值为0
sbyte System.SByte 1Byte
8bit有符号整数带符号的字节,所存储的值的范围是-128~127,默认值为0
char System.Char
2Byte 16bit 无符号Unicode字符,默认值为’\0’
decimal System.Decimal
16Byte 128bit十进制数不遵守四舍五入规则的十进制数,28个有效数字,通常用于财务方面的计算,默认值为0.0m
double System.Double
8Byte 64bit双精度的浮点类型,默认值为0.0d
float  ......
MFC/windows基本数据类型(2008-04-01 21:57:00)
摘要:#define FALSE 0 afx.h
#define TRUE 1 afx.h
#define NULL 0 afx.h
typedef void VOID winnt.h
//短整型typedef unsigned short
typedef unsigned short USHORT; windef.h
typedef unsigned short WORD; windef.h
typedef unsigned short wchar_t
typedef short SHORT; winnt.h
//整型typedef int
typedef int &n......
C/C++基本数据类型(2008-04-01 21:48:00)
摘要:
学了C然后C++,然后MFC/Windows,然后是C#,其中数据类型很多,由基本类型衍生的typedef类型也N多。熟知基本数据类型是我们正确表达实际问题中各种数据的前提,因此我分类总结了一下C/C++/Windows /C#基本数据类型,以便日后查阅。
ANSI C/C++基本数据类型:
Type
Size
数值范围
无值型void
0 byte
无值域
布尔型bool
1 byte
true false
有符号短整型short [int] /signed short [int]
2 byte
-32768~32767
无符号短整型unsigned short [int]
2 byte
0~65535
有符号整型int /signed [int]
4 byte
-2147483648~2147483647
无符号整型unsigned [int]
4 byte
0~4294967295
有符号长整型long [int]/signed long [int]
4 byte
-2147483648~2147483647
无符号长整型unsigned long [int]
4 byte
0~4294967295
long long
8 byte
0~18446744073709552000
有符号字符型char/signed char
1 byte
-128~127
无符号字符型unsigned char
1 byte
0~255
宽字符型wchar_t (unsigned short.)
2 byte
0~65535
单精度浮点型float
4 byte
-3.4E-38~3.4E+38
双精度浮点型double
8 byte
......
标准C++中string类及STL容器类简介(2007-11-17 16:23:00)
摘要:
一.标准C++库字符串类std::string的用法
#include<string>
std::string s1;
std::string s3(s2);
std::string s2("this is a string");
begin 得到指向字符串开头的Iterator
end 得到指向字符串结尾的Iterator
rbegin 得到指向反向字符串开头的Iterator
rend 得到指向反向字符串结尾的Iterator
size 得到字符串的大小
length() 和size函数功能相同
max_size 字符串可能的最大大小
capacity 在不重新分配内存的情况下,字符串可能的大小
empty 判断是否为空
operator[] 取第几个元素,相当于数组
c_str 取得C风格的const char* 字符串
data 取得字符串内容地址
operator= 赋值操作符
reserve 预留空间
swap 交换函数
insert&nb......
第一次汇编(2007-10-12 22:00:00)
摘要: 第一次(学习汇编语言上机步骤)
工具准备:
至少要具备MASM.EXE和LINK.EXE。前者是用来编译的,后者作用是把编译好的文件连接成可执行程序,你可以从网上下MASM5.X或MASM6.X,或ASM for windows集成IDE。
1、打开命令提示符进入MS-DOS方式
2、可以用任何一种熟悉的文本编辑器建立、编辑汇编语言源程序;直接用计事本或者在命令行输入EDIT后回车进入windows自带的纯文本编辑器EDIT,也可以在cmd在运行命令中输入EDIT进入,建立以下后缀为.asm文件保存后退出。
3、程序中彩色字体部分是每个汇编语言程序格式部分;以分号“;”后面为注释语句。
;hello.asm
STACK_SEG SEGMENT
DW 256 DUP(?) ;分配堆栈段大小为256个字
TOP LABEL WORD ;定义堆栈栈底位置,刚开始,顶即底
STACK_SEG ENDS
DATA_SEG SEGMENT
STRING DB 'Hello,world!','$' ;定义字符串数据
DATA_SEG ENDS
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG,DS:DATA_SEG,SS:STACK_SEG ;建立代码段与逻辑段关联
START:MOV AX,DATA_SEG ;程序执行起始点
MOV DS,AX ;将段寄存器指向用户数据段
mov ax,STACK_SEG ;大小写不敏感
MOV SS,AX &n......