2024年9月20日

封装继承和多态是面向对象编程的三大特征(面向对象程序设计的三大特征)

面向对象的三个特征:

封装、继承、多态三大特征面向对象。

采用包装、继承、多态的方式进行建模,从而大大减少重复代码,减少模块之间的耦合,像拼积木一样组装整个“世界”。

1.封装

包装类就像一个黑匣子,外部看不到内部结构和操作机制,只能访问其暴露的属性或方法。请注意,将一些不相关的对象硬包装在一起,会使代码变得莫名其妙,难以维护和管理,所谓的“极端会逆转,太多”,所以包装必须适度。

计算机包装:

它必须需要一个底盘来包装各种配件,如主板,CPU、内存、显卡、硬盘等。

一方面,底盘起到保护作用,防止异物(如老鼠、昆虫等)进入内部,破坏电路。

另一方面,底盘并没有完全关闭。它必须为外部预留一些访问接口,如启动按钮、USB接口等,以便用户可以使用计算机主机的类结构:

2.继承

继承可以将父类的属性和方法延伸到子类中,使子类不需要重复定义,子类可以通过重写来修改继承,或者通过添加来实现属性和功能扩展的目的。

类是对象模板,所以父类(或超类)可以看作是模板模板。

继承的目的不仅仅是完全复制,而是基于父类基因的灵活扩展。

我们知道任何类别都有一种tostring方法,但我们根本没有声明。为什么?事实上,这是一种从Object类继承的方法,因为Object是所有类别的祖先类别。

3.多态

当我们创建一个对象时,我们通常会定义另一个引用指向它,以便后续操作对象,而这种引用类型决定了它可以指向哪些对象。

例如,狗定义的引用永远不能指向猫的对象,因此父定义的引用只能指向本类或其子类的实例对象,这是一种多态性。

此外,多态实际上是利用继承(或接口实现)特征反映的另一种场景。

实现多态化的方法有两种:

1.覆盖;

2.重载。

覆盖是指子类重新定义父类虚拟函数的做法。

重载是指允许多个同名函数存在的参数表不同(可能参数数数不同,可能参数类型不同,也可能两者都不同)。

多态作用:

多态外设使计算机功能更加强大、灵活、可扩展和可替代。事实上,这是设计模式中一种非常重要的“策略模式”,界面的定义是解决耦合问题的关键。