1、第三章 对象和类型ide
一、类和结构的区别:函数
两者实际上都是建立对象的模板,每一个对象都包含数据,并提供了处理和访问数据的方法。都使用new来建立和初始化。spa
1)类定义了每一个对象(称为实例)能够包含的数据和功能,类是引用类型,老是存储在堆(heap)上,关键字class,对象
类静态成员属于类,实例成员属于对象。类成员: 字段、属性(也能够定义只有get或者set访问器的属性)、常量(最好别声明为Public,private)、方法、构造函数、索引器、运算符、事件、析构函数、类型(类能够包含内部类)继承
2)而结构是值类型,一般存储在栈(stack)上,不支持继承。关键字struct索引
二、方法事件
注意,正式的C#术语区分函数和方法:get
1)C#术语的函数成员:不只包含方法、也包含类或结构的一些非数据成员,如索引器、运算符和构造函数和析构函数等,甚至还有属性。模板
2)C#术语的数据成员:而字段、常量和事件才是。class
三、方法重载:overload 方法名相同 参数个数和/或数据类型不一样,仅经过返回类型或者参数名称是不足以区分的,方法重载是能够调用另外一个重载方法
四、方法重写(覆盖):override
五、方法参数 :
1)命名的参数
2)可选参数,必须是方法定义的最后参数;int GetSquareOf(int x,int y=1,int z=2){...}
3)个数可变的参数:int AnyNumberOfArguments(params int[] data){...} params Object[] data
public void AnyNumberOfArguments(params Object[] data)
{
}
调用:AnyNumberOfArguments("123", 456);
4)个数可变的参数+命名参数 则“个数可变的参数”只能使用一次,且必须是方法的最后一个参数
六、构造函数
能够为构造函数提供任意多的重载,只要它们的签名有明显的区别便可
静态构造函数
只读字段
枚举
部分类
静态类
Object类
2、第四章 对象和类型