C#学习系列之自定义转化、重载运算符
啰嗦
学习基础。
自定义转化
显式或隐式转化,变成预期类型。
- 隐式转换语法
public static implicit operator Dog(Cat cat)
{
return new Dog(cat._name);//再转化使用
}
Cat cat=new Cat("jack");
cat.speak();
Dog dog=cat;
dog.spaek();//这里就会将本来狗的属性转化为猫的属性。
- 显式转化语法
public static explicit operator Dog(Cat cat)
{
}
Cat cat=new Cat("xx");
Dog dog=(Dog)cat;
重载运算符
利用现有的某种运算符,针对自定义类或结构,定义某种运算操作。
- 不能创造新的运算符
- 预定义类型和现有运算符含义确定
- 运算操作:类似 X+Y=Z
public static Dog operator +=(Dog male,Dog female)
{
return new Dog();
}
一元、二元运算符都可以重载
总结
学习记录。