变量的作用域
局部变量 在所定义的代码快中可以使用
全局变量 声明不会占用内存空间,初始化后分配空间
Main函数
四种形式
static void Main()
static void Mian(string[] args)
static int Main()
statin int Main(string[] args)
int结果可表示运行编译结果,0为正常;程序员自定
string[] args 存放命令参数
结构函数
结构不仅可以存储数据元素还可包含函数
struct customerName
{ public string firstName,lastName;
public string Name() 结构函数
{return firstName+lastName;}
}
函数重载
函数定义包含函数签名即函数名和参数
可以定义相同的函数名不同返回类型参数函数 即为重载
方法名相同参数列表不同。
函数委托(匿名函数)(事件)
声明方式与函数类似 delegate <类型> <name>(<类型><name>,<类型><name>)
可以将相同参数和返回值的函数作为委托参数,委托可以调用函数
委托主要运用在事件处理中
面向对象(类查看器)
“类的实例”和对象含义相同;
属性和字段
一般把字段设置为私有,通过公共的属性访问它们。
方法
对象生命周期
构造函数
创建与类名相同的函数(用于对象最初实例化)
析构函数
用~+类名创建(用于销毁对象,释放内存)
接口(interface)
接口的作用 规范类 使开发过程模块化
一个类可以支持多个接口,多个类也可以支持相同接口。
接口声明的属性、方法、(事件、索引器)可以被其他类使用
接口中定义的成员必须在接口实现的类中实现,接口不能自己实现
接口不能被实例化,但可以实例化实现接口的类
接口能被多重继承
接口可以销毁接口实现的对象 using
<Classname> <Varialblename> =new <ClassName>()
...
using(<Varialblename>)
{
}
会在使用using代码块末尾自动调用Dispose()方法释放资源对象
继承
类(派生类)可以继承于另一个类(基类),被继承的类称为基类
派生类包含基类的所有方法,也可以在派生类中创建自己的方法
基类方法访问级包含 public公共级 protected(保护级) private私有级
派生类可以访问public 和 protected 级方法、而外部代码只能访问public级
可以将基类中的方法写成虚拟成员,在派生类中就可以对该方法进行重写(virtual)(override)
基类可以是抽象类,即在基类中自定义了方法,在派生类中必须实现抽象类中的所有抽象方法(abstract),不能实例化抽象类
继承抽象方法的类无法访问该方法的原始实现(无法访问基类的方法)基类--抽象派生类--派生类
多态性
继承多态性 派生类可以使用基类中的方法。不同派生类可以调用同一个基类方法这就是继承多态。
接口多态性 接口多态与继承多态区别在,必须提供接口方法的实现代码(因为接口方法只定义不实现)
封装
类即一个封装
目的:提高 高内聚,低耦合 将以public定义的方法或属性提供给调用者,调用者只需提高参数和获取返回结果
无需关心内部实现过程。
封装提高代码安全性
静态类
构造函数创建对象
局部变量 在所定义的代码快中可以使用
全局变量 声明不会占用内存空间,初始化后分配空间
Main函数
四种形式
static void Main()
static void Mian(string[] args)
static int Main()
statin int Main(string[] args)
int结果可表示运行编译结果,0为正常;程序员自定
string[] args 存放命令参数
结构函数
结构不仅可以存储数据元素还可包含函数
struct customerName
{ public string firstName,lastName;
public string Name() 结构函数
{return firstName+lastName;}
}
函数重载
函数定义包含函数签名即函数名和参数
可以定义相同的函数名不同返回类型参数函数 即为重载
方法名相同参数列表不同。
函数委托(匿名函数)(事件)
声明方式与函数类似 delegate <类型> <name>(<类型><name>,<类型><name>)
可以将相同参数和返回值的函数作为委托参数,委托可以调用函数
委托主要运用在事件处理中
面向对象(类查看器)
“类的实例”和对象含义相同;
属性和字段
一般把字段设置为私有,通过公共的属性访问它们。
方法
对象生命周期
构造函数
创建与类名相同的函数(用于对象最初实例化)
析构函数
用~+类名创建(用于销毁对象,释放内存)
接口(interface)
接口的作用 规范类 使开发过程模块化
一个类可以支持多个接口,多个类也可以支持相同接口。
接口声明的属性、方法、(事件、索引器)可以被其他类使用
接口中定义的成员必须在接口实现的类中实现,接口不能自己实现
接口不能被实例化,但可以实例化实现接口的类
接口能被多重继承
接口可以销毁接口实现的对象 using
<Classname> <Varialblename> =new <ClassName>()
...
using(<Varialblename>)
{
}
会在使用using代码块末尾自动调用Dispose()方法释放资源对象
继承
类(派生类)可以继承于另一个类(基类),被继承的类称为基类
派生类包含基类的所有方法,也可以在派生类中创建自己的方法
基类方法访问级包含 public公共级 protected(保护级) private私有级
派生类可以访问public 和 protected 级方法、而外部代码只能访问public级
可以将基类中的方法写成虚拟成员,在派生类中就可以对该方法进行重写(virtual)(override)
基类可以是抽象类,即在基类中自定义了方法,在派生类中必须实现抽象类中的所有抽象方法(abstract),不能实例化抽象类
继承抽象方法的类无法访问该方法的原始实现(无法访问基类的方法)基类--抽象派生类--派生类
多态性
继承多态性 派生类可以使用基类中的方法。不同派生类可以调用同一个基类方法这就是继承多态。
接口多态性 接口多态与继承多态区别在,必须提供接口方法的实现代码(因为接口方法只定义不实现)
封装
类即一个封装
目的:提高 高内聚,低耦合 将以public定义的方法或属性提供给调用者,调用者只需提高参数和获取返回结果
无需关心内部实现过程。
封装提高代码安全性
静态类
构造函数创建对象
接口如何组合对象
接口和抽象类
接口不能定义私有、保护、公共级方法或字段;可以定义internal级,不能实现代码块
接口可以继承接口,并且抽象方法继承接口时必须实现该接口所继承于其他接口的方法
接口不能继承抽象类。
抽象类可以定义私有、保护、公共及internal。当抽象类可以实现代码块,只有定义抽象方法就必须在继承它是实现该抽象方法
抽象类可继承于抽象类、也可继承接口。在抽象类中实现接口(internal)方法和属性
public abstract void MyMethod();实现由 overriding 方法提供,它是非抽象类的成员。
在抽象方法声明中使用 static 或 virtual 修饰符是错误的。
在静态属性上使用 abstract 修饰符是错误的。
实现接口的抽象类可以将接口方法映射到抽象方法上。
静态方法和静态类
静态类
可以在工程调用过程中无需实例化,直接调用静态类。
静态类中只能包含静态方法。
静态方法
静态方法可以在一般类中声明,和静态类中声明
在一般类中声明的静态方法可以不实例化该类直接调用类中的静态方法