C#学习笔记第二发---面向对象

2021-02-20 20:21

阅读:652

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实现,通过继承同一个父类,并重写同一个方法,创建实体类时使用不同的子类来实现父类,从而调用不同子类内的重写后的方法,来实现动态多态。


评论


亲,登录后才可以留言!