1,C#中类的标准写法
class MyClass
{
//Class members【成员变量如果是public则推荐使用MyInt形式命名】
}
默认情况下,类的声明为内部的,即只有当前项目中的代码才能够对它进行实例化【可以和ios中的protected类比】。可以用internal访问修饰符关键字显式指定
例如:internal----成员只能由定义他的项目(程序集)内部的代码访问。
internal class MyClass
{
//class members
}
但是这么做是不必要的
其他类的修饰
比如:
public class MyClass 权限最大
public abstract class MyClass 抽象类 【不能实例化,只能继承,可以有抽象成员】
public sealed class MyClass sealed代表密封的 【不能继承】
类的继承的写法:public class MyClass : MyBase 【在C#的类定义中,只能有一个基类,如果继承了一个抽象类,就必须实现所继承的所有抽象成员(除非派生类也是抽象的)】
可以指定多个接口,但是只能继承与一个类:public class MyClass:MyBase,IMyInterface,IMySecondInterface 【注意,基类必须放在最前面】
2,接口的定义
声明接口的方式和声明类的方式是相似的,但是使用的关键字是interface,而不是class
例如:interface IMyInterface
{
//Interface members
}
3,System.Object
所有的类都继承与该类
4,构造函数
public class MyClass:MyBaseClass
{
public MyClass()
{
}
public MyClass(int a,int b)
{
}
}
注意构造函数和类名称是一样的,这点和C++差不多
5,结构类型
结构师值类型而类是引用类型
6,常见关键词修饰说明
static修饰的方法只能用类去调用,不能用对象去调用
virtual-------方法可以重写
abstract----方法必须在非抽象的派生类中重写(只用于抽象类中)
override---方法重写了一个姐类方法【如果方法被重写,必须使用改关键字】
extern---方法定义放在其他地方
public override sealed void doSoneTing() --- 代表在派生类中不能对着方法作进一步的重写
7,类的属性
public int MyInt
{
get{return myInt}
set{return ...}
}
属性必须包含set或者get方法中的一个,否则就不能成功的声明为属性