类名:Name;对象:Object
1.创建类:
internal/public 空/abstract/sealed class Name:[基类名],[接口名],[接口名]...
{
......
}
1.创建类:
internal/public 空/abstract/sealed class Name:[基类名],[接口名],[接口名]...
{
......
}
1.创建接口:
接口主要用于类,这些类可以通过接口完成某些相同的任务。
internal/public interface 接口名:[基接口],[基接口]...
{
......
}
接口主要用于类,这些类可以通过接口完成某些相同的任务。
internal/public interface 接口名:[基接口],[基接口]...
{
......
}
1.System.Object的方法:
对象.ToString():返回对象的类名;
对象.GetType():返回对象的类型。
(typeof(类名):C#的运算符,返回类型)
对象.ToString():返回对象的类名;
对象.GetType():返回对象的类型。
(typeof(类名):C#的运算符,返回类型)
1.构造函数和定义对象:
public Name(...):[base(...)]
{
......
}
Name Object=new Name(...);
public Name(...):[base(...)]
{
......
}
Name Object=new Name(...);
关键字base作用:确定要调用基类的哪个构造函数(其还可用于在重写方法中调用隐藏的基类方法)。
注:其括号里可以是Name括号里的变量,也可以是数值。
补充:关键字this效果相似,区别是,在执行该构造函数前,会根据this(...)的"..."找出对应的同个类的 另一个构造函数,并先执行(即执行了一个类的两个构造函数)。
注:其括号里可以是Name括号里的变量,也可以是数值。
补充:关键字this效果相似,区别是,在执行该构造函数前,会根据this(...)的"..."找出对应的同个类的 另一个构造函数,并先执行(即执行了一个类的两个构造函数)。
2.析构函数:
~Name()
{
......
}
~Name()
{
......
}
3.静态成员:
类的实例间实现共享。
类的实例间实现共享。
4.不能实例化的类:
(1)抽象类:abstract;
(2)私有构造函数;(但可以用静态成员获取实例)
class Create Me
{
private Create Me()
{
}
//静态成员函数GetCreateMe()调用私有构造函数,创建了实例
static public CreateMe GetCreateMe()
{
return new Create Me();
}
}
(1)抽象类:abstract;
(2)私有构造函数;(但可以用静态成员获取实例)
class Create Me
{
private Create Me()
{
}
//静态成员函数GetCreateMe()调用私有构造函数,创建了实例
static public CreateMe GetCreateMe()
{
return new Create Me();
}
}
(3)静态类。
5.OOP工具:
类视图;对象浏览器;类图([解决方案资源管理器]->[查看类图])
类视图;对象浏览器;类图([解决方案资源管理器]->[查看类图])
6.项目中添加类:
[项目]->[添加新项]->[类]->[添加]。
[项目]->[添加新项]->[类]->[添加]。
7.创建和调用类库:
类库:只包含类的没有入口的项目;
创建:[文件]->[新建]->[项目]->[类]->[名称]->[位置]->[确定];
添加类:(同上);
编译:[生成]->[生成解决方案];
引用:(在其他程序项目中)[项目]->[添加引用]->[浏览](选择类库所在位置到[bin]->[Debug])->双击文 件"类库名.dll"。
类库:只包含类的没有入口的项目;
创建:[文件]->[新建]->[项目]->[类]->[名称]->[位置]->[确定];
添加类:(同上);
编译:[生成]->[生成解决方案];
引用:(在其他程序项目中)[项目]->[添加引用]->[浏览](选择类库所在位置到[bin]->[Debug])->双击文 件"类库名.dll"。