简要介绍
本课程欢迎你进入面向对象编程的世界。
过程式编程
假设你已经熟悉了编程的基础知识,并且在程序中使用过方法,也称为函数。
过程式编程是一种编程范式。
在过程式编程中,程序被划分为称为方法的较小部分。
过程式编程中的基本实体是方法。
过程式编程技术的核心是使用方法实现代码重用。这意味着一旦在程序中实现了一个方法,就可以多次调用它来执行特定操作,而无需重复编写这些操作的代码。然而,使用这种范式来实现复杂的现实世界场景可能会非常困难。
什么是面向对象编程?
编程用于解决现实世界的问题,如果无法使用编程语言来建模现实世界的情景,那将毫无意义,对吧?这正是面向对象编程发挥作用的地方!
面向对象编程,也称为 OOP,是一种依赖于类和对象概念的编程范式。
在现实世界中,当我们环顾四周时,会发现到处都是对象。这些对象相互交互,这就是现实世界的工作方式。此外,我们发现许多对象是相似的,因此将它们视为同一类的实例。例如,Dog 是一个类,而你的宠物狗则是该类的一个实例。你的宠物狗与其他所有狗具有某些共同点。这就是为什么我们将它们视为同一类的实例。将计算机程序构造成一组对象(而不是方法)集合,是面向对象编程的基础。
在编程中模拟这种现实世界情景,探索了面向对象编程的基本概念。
面向对象编程的基本思想是将一个复杂程序划分为多个对象,它们彼此通信。
程序/应用程序中的对象通常代表现实世界中的对象。
假设你即将设计一个在线学习平台。一个非常基础的模型将包括以下对象:
- 课程(Courses)
- 学习者(Learners)
- 学习资源
在软件应用中,有许多对象服务于应用逻辑,但没有直接对应的现实世界对象。这些对象最常见的任务包括管理身份验证、模板处理、请求处理,或任何其他为运行中的应用所需的各种功能。
对象与类的结构
对象可以包含以 字段(变量)形式存在的数据,以及用于操作这些数据的 方法。想想你周围的现实世界对象。这些对象有哪些特征?以一台 计算器 为例。它有一个 状态,即处于 开启 或 关闭 状态。它还有 行为,即你可以对数字执行加法、减法、乘法、除法等许多操作。这意味着我们可以这样说:
对象具有 状态 和 行为。
有趣,不是吗?但问题是:“对象从哪里来?”
好吧,上述问题的答案是 类。
一个 类 可以看作是创建对象的 蓝图。
下图展示了 Calculator 类应有的样子。
如果你要在计算机程序中实现一个计算器对象,变量可以表示它的状态,而函数可以表示其行为。
正如现实世界对象的状态和行为无法分离一样,面向对象编程中的类将行为和状态封装在一个单一单元中。
可以创建同一类的多个对象。每个对象可以处于独立的状态,但它们都共享相同的行为和特性。
C# 为我们提供了多种原始数据类型来存储不同类型的数据。这些原始类型变量只能存储值。更具体地说,从面向对象的角度来看,这些变量只关注建模对象的状态。
基于面向对象的语言使程序员能够使用类创建强大的自定义变量。与原始数据类型不同,这些用户定义的数据类型,也称为类,不仅可以建模对象的状态,还可以建模其行为。因此,当创建这种用户定义数据类型的变量时,它能做的事情远不止存储单个值。
从上述讨论可以推断出,类是使用原始数据类型(如 bool、int、char 等)实现的用户定义数据类型。
我们暂时先到这里,稍后会在后续章节中回到这个话题。
在下一课中,你将了解现代面向对象语言以及 C# 为何是其中之一。