在编码中,方法和函数之间有什么区别
已发表: 2018-09-21编码术语
在编程中,有很多不同的术语用于描述同一件事,也有一些术语似乎指的是同一件事,但实际上并非如此。 让它更加混乱。 某些术语的使用方式不同,具体取决于您所谈论的语言类型,甚至在从一种语言转换到另一种相同类型的语言时。 因此,诸如“方法”、“函数”、“接口”或“抽象类”之类的术语可能会让某些人感到非常困惑,因为它们在一种情况下可能意味着一件事,但在另一种情况下则完全不同。
OOP 方法概述
方法本质上是对指定对象执行的逐步过程。 方法仅用于面向对象的编程语言,如 C++。 本质上,一个方法要么可以改变通过该方法的对象的特性,要么该方法可以基于通过它的对象的预先存在的特性来执行某个过程。 有时,一个方法甚至可以通过既不影响通过它的对象也不会被对象的现有特征改变的代码运行。 但这不太常见,也不是处理方法的推广方式。
阅读——选择哪个 JavaScript 框架
程序编码中的功能
另一方面,函数是一个更通用的术语,它指的是一个接受多个输入并返回一些值的过程。 令人困惑的是,一个函数和一个方法在编程时听起来好像它们会做同样的事情或引用相同类型的过程,但事实并非如此。 函数与对象无关,并且基本上用于所有非面向对象的高级语言中。 另一方面,方法仅与对象相关联,并且该术语仅在处理对象或过程位于类中时使用。 因此,函数根据给定的输入返回值,而方法要么改变对象的特性,要么根据对象的预先存在的特性返回值。
编码接口和抽象类
类似于函数和方法之间的混淆。 接口和抽象类之间有很多混淆。 但是,与函数和方法不同,接口和抽象类有很多共同点,而且它们的特性很容易混淆。 区分两者的最简单方法是了解接口仅存在于面向对象的编程语言中。 而抽象类几乎存在于所有高级语言中。
深入的接口
接口本质上是您创建的一个基础,它解释了类之间的所有相似之处。 因此,假设您想创建不同的对象,但它们都是动物。 所以,人类、猿类和黑猩猩。 显然,这三种动物有很多共同点,定义所有这些相似之处是明智的,因此您可以确保它们在每个类中都实现。 例如,每个人都有一个头,四个肢体,一个嘴,一个鼻子,一个舌头等。
因此,在界面中,您定义了这些特征,因为您在界面中定义了它们。 当每个类实现接口时,它们必须通过接口中定义的方法来定义和初始化这些特性。 否则,代码将无法运行。 使用接口而不是抽象类的主要原因是每种动物都具有相同的特征。 但每种动物的实施方式都不同。 例如,所有的黑猩猩。 人类和猿类都有鼻子,但它们的宽度、长度和用途可能都略有不同。 因此,这些差异是在各个类中定义的。 但是他们有鼻子的事实是在界面中定义的。
阅读 – Laravel 成为 2018 年最佳 PHP 框架的原因
如何使用抽象类
抽象类与接口完全一样。 然而,与接口不同的是,方法和函数实际上可以定义和初始化,但并非必须如此。 最重要的是,它们不是实现抽象类的类,而是使抽象类成为超类。 与接口相比,这实际上是抽象类的一个主要缺点,因为一个类可以实现任意数量的接口,但它们只能有一个超类,这意味着一个类只能使用一个抽象类,但可以使用多个接口。
抽象类很棒。 但是,如果有一些相同的特性具有相同的实现方式。 但是,如果还有一些跨对象具有不同的实现。 例如,如果您有两个类,男性和女性,并且想要定义两者之间的相似性,那么最好使用抽象类。 为什么? 因为性别之间的某些特征是相同的,并且以完全相同的方式实现。 例如,嘴巴大小相同,用途相同; 两性之间的眼睛大小相同,功能相同,等等。
因此,对于这些特性,定义它们的函数或方法可以在抽象类中进行初始化。 然而,某些特征,如臀部或眉毛,两性都有。 但两者的这些特征有很大不同。 因此,抽象类不会初始化定义这些特征的方法或函数。 并将其留给子类。
概括
希望这些解释不会太混乱或冗长。 如果您是编程新手,如果您仍然感到困惑,请不要担心。 您可以使用大量可访问的资源来了解编程的基础知识以及某些术语之间的细微差别。
非常重要的一点是,如果你想成为一名专业的程序员。 必须同时学习过程和面向对象编程 (OOP) 概念。 确实。 许多软件工程师在进行 OOP 编码之前使用统一模型语言将项目或应用程序需求映射到对象和图表。 有很多用于学习软件工程的在线资源。 对于青少年和高中生,高中技术服务提供各种实践培训。 对于成人和专业人士,Coding Bootcamps 学院提供了许多基础的高级编程课程,重点是程序和 OOP 编码。
关于作者
Matt Zand 是一名程序员、商人、IT 顾问和作家。 他是WEG2G集团的创始人和所有者。 他也是 DC Web Makers 的创始人。 他的爱好是远足、骑自行车、户外活动、旅游和登山。