面向对象编程概念解释

2025-06-07

面向对象编程概念解释

什么是面向对象编程

简而言之,面向对象编程就是使用包含数据和方法的对象,这些对象可以相互交互。一种语言要想被视为面向对象,必须具备以下特性:

  • 封装
  • 遗产
  • 抽象
  • 多态性

这些特性,加上具有对象和类的语言,构成了我们所知的面向对象编程。

什么是封装

当一个对象将其状态保持为私有时,就实现了封装,这样其他对象就无法直接访问该状态。相反,它们必须调用一系列公共方法来操作状态。

以下面的图片为例。Cat 有 3 个不同的字段,它们都是私有的,还有一个私有的 meow() 方法。调用 Cat 的其他对象都无法更改这些值。

然而,猫咪也拥有一系列公共方法(睡眠、玩耍和喂食)。调用这些公共方法时,会改变猫咪的状态,并调用 meow() 方法进行玩耍和喂食。

封装说明

什么是继承

继承是在类中创建层次结构。从父类开始,然后扩展到子类,这些子类将重用父类的所有字段和方法,以及它实现的任何特有方法。

如下例所示,Teacher 和 Student 都是 Person 的子类,但其中一个有科目,另一个有学校。Person 是父类,Teacher 和 Student 是子类。

继承说明

什么是抽象

抽象是指对象仅在高层暴露自身,并隐藏其内部实现细节的过程。调用此抽象的其他对象并不关心其实现方式,它们只需要处理这些信息即可。

可以将其视为一小组公共方法,任何其他类都可以调用它们,而无需知道它们在幕后是如何实现的。

抽象描述图像

就拿上图的手机来说吧。我们不知道手机上的按键是怎么运作的,我们只知道它们的作用。

什么是多态性

多态性是指某事物以多种不同的形式出现。它允许通过同一接口访问不同类型的对象,并且每种类型都实现该接口的独立版本。

多态性描述

星形、圆形和矩形都属于图形,只是不同类型的图形。它们都拥有一个calculateSurface()和calculatePerimeter()方法。区别在于它们实际的计算方式。

好了,就这些了

感谢您花时间阅读这篇文章!如果您觉得它有用,或者认为其他人也会喜欢,请分享!

如果您发现这篇文章有帮助,请订阅我的时事通讯,我会每周将更多类似的内容直接发送到您的收件箱!

文章来源:https://dev.to/travislramos/object-oriented-programming-concepts-explained-4102
PREV
介绍 AWS Amplify 的无服务器功能 关于无服务器工具的小故事 添加 API
NEXT
非计算机科学学位的 Big-O 课程 - 第一部分