类与实例
类是具有相同属性和功能的对象的集合;
class Cat
{
public string Shout ()
{
return "喵";
}
}
class表示定义类的关键字,”Cat”是类的名称,“Shout”是类的方法;
(类名称首字母大写,多个单词各首字母大写,对外公开的方法用“public”修饰符);
实例:一个真实的对象,实例化:创建对象的过程,用new关键字来创建;
Cat cat = new Cat ();
构造方法
对类进行初始化,Cat()就是构造方法;
重载、封装继承多态请参考上篇文章:
http://blog.csdn.net/xsh096011/article/details/79511590
属性:一个方法或一对方法;
字段:存储类要满足其设计需要的数据;name就是一个字段;
猫叫次数ShoutNum就是属性;
public表示它所修饰的类成员可以允许其他任何类来访问;(公有的)
private表示只允许同一个类的成员访问,其他类包括它的子类无法访问;(私有的)
属性的两个方法get和set;get调用时可以得到内部字段的值或引用;
set作用是调用属性时可以给内部的字段或引用赋值;
重构
调整程序代码改善软件质量、性能,使程序的设计模式和架构更完善;
抽象类
abstract是关键字,表明抽象类;
一、抽象类不能实例化;
二、抽象方法是必须被子类重写的方法;
三、类中包含抽象方法,类就必须定义为抽象类;
接口
接口把隐士公共方法和属性组合起来,来封装特定功能的一个集合;通过接口可以支持所指定的所有属性和成员;
接口用interface声明,接口名称前要加”I”;
接口是对行为的抽象;
集合
用于存储和检索的专用类;
数组优点:数组在内存中连续存储,快速而容易的从头到尾遍历元素,快速修改元素;
装箱:值类型打包到Object引用类型的一个实例中;
整型变量i赋值给对象o;
int i=123;
object o = (object) i;//boxing
拆箱:从对象中提取值类型;
对象o拆箱并赋值给整型变量i
o = 123;
i = (int) o;//unboxing
泛型:
泛型是具有占位符的类、结构、接口和方法;
委托和事件
委托是对函数的封装,给方法的特征指定一个名称,事件是委托的一种特殊形式;
委托是一种引用方法的类型,为委托分配了方法,委托将与该方法具有完全相同行为;
代码解析:
static void Main(string[ ] args):规定的格式,java程序的入口地址;
Main:约定俗成,规定的;
static :方法是静态的,不依赖类的对象,属于类,加载的时候Main( )方法也随着加载到内存中;
public 修饰成员变量,不需要通过成员函数就可以由类的实例直接访问;
private 修饰的成员变量,类的实例要通过成员函数才能访问;
protected是受保护变量,子类继承基类,也可以访问基类的protected成员,对于子类是隐藏的,不可访问。