什么是方法,属性和功能?

时间:2010-11-22 15:17:25

标签: oop function properties terminology procedural-programming

是的,我正在努力解决这个问题。我无法区分它们,因为我读到的每一个解释都是如此不清楚和充满哲学。有人可以为我清理这些定义吗?谢谢你们。

这些定义同样适用于程序编程和oop一样多吗?感谢。

6 个答案:

答案 0 :(得分:8)

功能是将指令组合在一起以实现某些结果。它可能需要参数并返回结果。如果函数没有返回结果,则通常称为过程。例子:

function drawLine(x1, y1, x2, y2):
  // draws a line using Bresenham's algorithm from x1,y1 to x2,y2.
  // doesn't return anything

function <number> add(a, b):
  // adds a to b and returns the result as a number
  return a + b

所以功能是做一些特别的工作。例如,当你需要绘制一条3行的多边形作为矢量图像的一部分时,调用drawLine三次比将所有例程用于线内绘制更方便。

方法(“成员函数”)类似于函数,它们属于类或对象,通常表示对象/类的动词。例如,Window类型的对象通常会有方法openclose,它们对它们所属的对象执行相应的操作。

属性与日常语言一样,技术上是具有专用getter / setter例程的对象/类的字段(可以视为方法。有些语言没有属性和这种行为使用私有字段+ get / set方法实现。)。

答案 1 :(得分:7)

随着时间的推移,人们使用这些术语的方式已经发生了变化(并且可能会不断变化),但如果您正在阅读过去十年左右的文章,那么这就是他们的意思:

函数(又名子程序)是相对独立的,相对独立的代码片段,构成了一个更大的程序。

方法是附加到面向对象编程中特定类(或实例)的函数。

属性是面向对象的习惯用语。该术语描述了一个或两个函数(取决于所需的程序行为) - 一个检索值的'getter'和一个设置值的'setter'。按照惯例,属性通常没有很多副作用。 (并且它们所具有的副作用通常具有有限的范围:它们可以验证正在设置的项目,通知侦听器更改,或者将对象的私有数据转换为公开声明的类型。)

答案 2 :(得分:1)

功能是一个独立的结构,如trim()strlen()fopen()等。

function myAbcFunction() { ... }

Method是对象的函数。它在课堂上定义。属性只是对象的属性:

class MyClass {
    public $property; // Public property: $objInstance->property
    protected $property2; // Protected property

    public function doSth() {
        // That's a method. $objInstance->doSth();
    }
}

我建议您阅读手册Classes and Objects章节。

答案 3 :(得分:1)

Field - 字段是直接在类或结构中声明的任何类型的变量。字段是其包含类型的成员。

Property - 属性是一个成员,它提供了一种灵活的机制来读取,写入或计算私有字段的值。

Method - 方法是包含一系列语句的代码块。在C#中,每个执行的指令都是在方法的上下文中完成的。

过程 - 过程是包含一系列语句的代码块。

功能 - 函数是包含一系列语句的代码块。返回操作结果。

答案 4 :(得分:0)

在OOP中,主要结构是一个对象。

Method是一个可以应用于对象的命名操作。 属性是对象具有的命名值。例如,对象Human具有属性“Age”。 函数是一种比一种方法更通用的东西。它只是一个不属于任何对象的动作。但是方法是属于对象的函数。

答案 5 :(得分:0)

a)函数 指执行特定任务并返回值的语句块。

B)步骤 指程序的构造块,在调用时不返回值。

c)方法 指对象可以执行的操作。