C#封装、继承、多态(9月27)

2021/9/27 20:11:15

本文主要是介绍C#封装、继承、多态(9月27),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、封装

Why:防止类中的数据被恶意修改

封装(what):将类的某些信息隐藏在类内部(private),不允许外部程序直接访问,而是通过该类提供的公共属性(public)来实现对隐藏信息的操作和访问

快捷键:prop+TAB   propfull+TAB

封装的好处:

1、隐藏类的实现细节

2、只能通过规定属性访问数据

3、方便加入控制语句

4、方便修改实现

2、继承

Why:加减   加除    乘除 减乘计算器  

解决功能重复问题

继承:一个类具有另一个类的属性和方法,这个类叫子类(派生类),另一个类叫父类(基类、超类)

继承的关键符号   “:”

特征:

    1、子类继承了父类的属性和方法(public、protected),但是构造方法不能被继承

    2、子类使用构造方法调用父类构造方法用 base()

    3、创建子类对象时,系统默认先调用父类构造方法,然后再调用子类构造方法

    4、子类使用父类的属性和方法用  base 关键字(public、protected)

重写:

    重写:在子类和父类中,子类中的方法名称和父类方法名称相同,参数相同

    重载(overload):在同一个类中,方法名称相同,参数不同(个数、类型),与返回值无关

修饰符:

    public(本类、外部类) private(本类) protected(本类 子类)    internal(本类 子类)

虚方法:

    在某基类中声明 virtual 并在一个或多个派生类中被重新定义的成员方法称为虚方法。

    虚方法的作用就是实现多态性(Polymorphism),多态性是将接口与实现进行分离。

    在基类的函数中声明关键字virtual,就可以在其派生类中通过关键字override重写该方法。重写后的virtual方法依旧是virtual方法。

    当有一个定义在类中的方法需要在继承类中实现时,可以使用虚方法。

虚方法和一般方法的区别:

1、写法不同

2、一般方法在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死的!而虚方法在编译期间是不被静态编译的,它的相对地址是不确定的,它会根据运行时期对象实例来动态判断要调用的方法。

sealed关键字:

C#提供了一个sealed 修饰符,此修饰符会阻止其他类从该类继承。

使用继承的好处:

    1、继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。(拓展新功能

    2、继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系

    3、继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性

    4、继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性

3、多态

多态(what):多态是同一个行为具有多个不同表现形式或形态的能力。

多人做一件事情,结果不一样

多态性可以是静态的或动态的。在静态多态性中,方法的响应是在编译时发生的。在动态多态性中,方法的响应是在运行时发生的。

静态多态性:在编译时,方法和对象的连接机制被称为早期绑定,也被称为静态绑定。C# 提供了两种技术来实现静态多态性。分别为:方法重载、运算符重载

动态多态性是通过 抽象类 和 虚方法 实现的。

使用多态的好处

    应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的

可复用性。//继承 
    派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护

性。 //多态的真正作用



这篇关于C#封装、继承、多态(9月27)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程