从熟悉C#语法到开发桌面应用
学校有个项目作业,要求用C#开发桌面应用小程序,然而我对桌面应用开发完全是小白。虽然以前学过基本的C#语法,但是几乎都忘掉了,我一直用的都是python,因此需要先把C#语法在四天左右的时间快速熟悉,然后开始桌面编程。
壹. C#的类的创建简单继承(封装性)
类的创建旨在实现数据的封装
一.类的创建
1.基本语法:访问修饰符 class 类名{}
2.实例:创建一个二维下的点类
public class Point //基类
{
public int x, y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
}
二.类的继承(又名派生,C#只支持单继承)
1.基本语法:访问修饰符 class 子类名:父类名
2.实例:创建一个三维下的点类,继承于二维的点,给它加上一个第三维的坐标。
public class Point3D : Point//继承
{
public int z;
public Point3D(int x, int y, int z) :
base(x, y)
{
this.z = z;
}
}
三.修饰符
1.访问修饰符
(1)对字段或者函数进行修饰
<1>访问修饰符 数据类型 变量名
<2>访问修饰符 返回类型 函数名(参数)
(C#把类内部,函数外的变量称为字段。 而不叫属性,属性我们在以后会介绍。函数也可以称为方法)
访问修饰符 | 效果 |
---|---|
public | 访问不受限制,任何类的字段或者函数都可访问他 |
protected | 只有自己或者子类内部的字段或者函数可以访问的 |
private(默认类型) | 只有自己类内部的字段或者函数可以访问 |
internal | 可访问域限定于类所在的程序集内 |
protected internal | protected或者internal,即可访问域限定于类所在的程序或那些由它所属的类派生的类内 |
(2)对类进行修饰(比较简单,其他的修饰符没有意义)
访问修饰符 class 类名
访问修饰符 | 效果 |
---|---|
internal(默认) | 类只能在当前工程中访问 |
public | 类可以在任何地方访问 |
(3)其他
结构 | 效果 |
---|---|
枚举(enum) | 枚举类型成员默认为public访问修饰符,且不能显示使用修饰符。 |
结构(struct) | 结构成员默认为private修饰符。结构成员无法声明为protected成员,因为结构不支持继承 |
接口(interface) | 接口成员访问修饰符默认为public,且不能显示使用访问修饰符。 |
2.其他修饰符
(1)字段,方法的修饰符
修饰符 | 效果 |
---|---|
readonly(对于字段有效) | 只能读不能修改 |
abstract(对于函数有效) | 没有函数实体 |
override (对函数有效) | 用于父类覆盖的抽象函数 |
(2)类的修饰符
修饰符 | 效果 |
---|---|
abstract | 这个类是一个抽象类,不能创建实例 |
sealed | 这个类不能派生,只能实例化 |
n
四.构造函数,析构函数,this指针
构造函数 public 类名(参数):
析构函数 public ~类名(参数):
this指针经常用于构造函数中出现了变量与对象的字段重名的情况,例如上面类创建就使用了this指针。注意this指针不能在静态函数中使用,也不可以指向静态字段。
五。类于与结构体的区别
1.类存储于堆空间大,访问速度慢;结构体存储与栈中,空间小,访问速度快。
2.类中可以为字段赋值,结构体不能。
详见 https://www.cnblogs.com/to-creat/p/5268729.html