C#是面向东西的编程语言,而面向东西的语言都有三大特征:封装、担任、多态。
封装:封装就是把一些内容调集在一起,通过访谒修饰符来一起控制。访谒修饰符有public、private、internal、protected、internal protected。
public和private较为常用,分袂用于修饰被外部挪用的值或者要领和不被外部挪用和访谒的值和要领。internal是在本项目中可以挪用(项目又称为措施集assembly,注意与定名空间nameapace区分),protected是指在这个class和担任于他的class可见;internal protected则是两者的相加,可以在本项目集和他的担任类中访谒。
担任:用于新的class使用旧的class但是还需要新的独占的对象,就用到了担任,C#只能实现单担任,但是可以实现多个接口。如果需要在子类中重写父类的要领,在父类中需要在要领前加virtual关键字,子类重写的要领前加override关键字。如果父类没有写virtual,则在子类中的重写要领前要加new,new的意义就是相当于在子类中屏蔽父类的同名要领。这两种要领的区别在于强制类型转换后,使用override重写的要领会使用子类的要领,而使用new重写的要领会使用父类的。不需要被担任的类前面可以加sealed关键字。要领之间也可以担任,担任之后挪用时先挪用父类的被担任要领,,再挪用子类的要领
多态:一个形态实现多个成果,分为静态多态和动态多态,静态多态是在编译时实现多态,而动态多态实在运行时实现。静态多态主要由重载实现,重载的要领前要有static关键字,重载可以由参数类型差别、参数类型挨次和数目差别来实现,不能通过返回值的转变来实现,可以通过关键字operator来实现运算符的重载。动态多态由关键字virtual和override实现,通过担任同一个父类,并重写同一个要领,创建实体类时使用差此外子类来实现父类,从而挪用差别子类内的重写后的要领,来实现动态多态。