自定义类型
除 C# 内置的 16 种预定义类型外,开发者可自行创建用户自定义类型,一共分为 6 类:
- 类(class)类型
- 结构体(struct)类型
- 数组(array)类型
- 枚举(enum)类型
- 委托(delegate)类型
- 接口(interface)类型
需要通过类型声明来创建自定义类型
- 要创建的类型种类
- 新类型的名称
- 该类型所有成员的声明(名称与定义)(数组、委托除外,二者无具名成员)
声明完成后,即可像使用预定义类型一样创建、使用该类型的对象。
预定义类型(内置类型),可以直接使用,直接实例化对象。而自定义类型,顾名思义是需要我们自己先声明好这个类型(创建图纸),然后再实例化对象。
例如:int/float等内置基础类型,开箱即用,无需提前定义,直接可以int age; float price; 这样使用。
而我们前面的Person这个自定义类型,我们需要:
第一步:声明(class Person {} 定义类型模板)
第二步:实例化( 创建对象)Person lucas = new Person ();
// 汽车类
public class Car
{
// 1. 私有字段(底层存储数据)
private string _brand; // 牌子
private string _color; // 颜色
// 2. 公有属性(对外暴露访问接口,可加校验逻辑)
public string Brand
{
get { return _brand; }
set
{
// 简单校验:品牌不能为空
if (!string.IsNullOrEmpty(value))
_brand = value;
else
Console.WriteLine("品牌名称不能为空!");
}
}
public string Color
{
get { return _color; }
set { _color = value; }
}
// 3. 开车的行为方法
public void Drive()
{
Console.WriteLine($"一辆【{Color}】的【{Brand}】正在行驶中!");
}
}Code language: C# (cs)
上面的例子是一个汽车类,有两个字段,字段是变量,用到内置的类型,用来真正存储数据的。还有两个属性public string Brand{} 和public string Color{}这两个本质是函数来,后面我们会讲到。还有一个public void Drive(){} 的函数成员。
这些自定义类型,我们后续会重点讲解。
