面向对象的基本特征:封装(接口 、struct、枚举、委托、匿名函数) 继承,多态。
如何理解面向对象的基本特征:封装
我们通过接口 、struct、枚举、委托、泛型、匿名函数的去理解封装
接口 、struct、枚举、委托、泛型、匿名函数有什么区别?我们通过这些IL探究真相,案例如下:
class Program { private int se; private delegate void TestDelegate(); interface Iinterface { } enum Esenum { } struct Ssstruct { } interface Igeneric<T> where T : class { } static void Main(string[] args) { //匿名方法 TestDelegate dd = delegate { Console.WriteLine("fsdfd"); }; } }
IL代码
通过IL代码我们看出哦他们都是用 class定义的,说明都是类,只是封装方式不一样功能不一样。
struct、枚举、委托、匿名函数 都是用sealed密封,不可继承。接口用abstract 封装专门继承的,泛型用占位符封装,形成模板。
多态
比如方法多态,例如有参构造函数和无参构造函数,重写父类的方法例如:Tostring()
例如类多态:动物这类,派生出各种型态。
运算符多态:例如+ 在string 中表示连接,在int 表示加法运算
编程是个人爱好