一:结构体
值类型:基本数据类型、结构体struct、枚举类型enum
结构类型:是属于值类型,使得一个单一变量可以存储各种数据雷西那个的相关的数据
string:特殊的引用类型
结构体和类的区别:
- 结构体是值类型,类是引用类型
- 结构体不能声明无参数的构造函数,类可以声明无参数的构造函数
- 结构体不能被继承,类可以被继承
- 结构体在声明字段初始化不能赋值,可以在构造函数中进行赋值,类可以在初始化和构造函数都可以赋值
- 结构体和类都可以实现一个或者多个接口
- 结构体不能声明protected成员变量,类中可以声明受保护的成员变量
构建结构体,显示效果如下图所示:
二:只读属性
三:接口
先定义接口interface 只有声明,没有实现
类实现接口,把属性和方法实现
interface A
{
int a { get; set; }
void b();
}
class B:A
{
public int a { get; set; }
public void b() { Console.WriteLine("11"); }
}
四:抽象类
class前面添加abstract定义抽象类
可以定义抽象
方法,就比如:
public abstract void Add();
定义子类实现父类的抽象方法,添加override关键字
abstract class People {
public abstract void Add();
}
class Man:People
{
public override void Add() { Console.WriteLine("11"); }
}
五:多态
多态有很多种方法:就比如虚方法、函数重载、符号重载、抽象类、接口
函数重载一定过程:
一个类,两个方法名字相同,但是参数类型和参数个数或者方法返回值不同
就比如:
public void Add(int a ,int b){} ;
public void Add(double a ,int b){};
符号重载:
方法定义成静态方法、并且返回值、operator
实现虚方法过程:
- 必须有父类,子类继承关系
- 在父类里面的方法前面添加vitural关键字
- 在子类里面同名的方法前面加上overrider关键字
- 调用验证
如果有些不对的地方呢,请诸位大佬多多包含一下哈。😁