代码之家  ›  专栏  ›  技术社区  ›  Jichao

如何使用Pascal进行OOP?

  •  0
  • Jichao  · 技术社区  · 15 年前

    我正在用Pascal编程语言学习OOP,在网上搜索后,我发现 OOP -- The GNU Pascal Manaul .

    这个函数声明是什么意思?

    function Baz (b, a, z: Char) = s: Str100; { not virtual }

    我从没见过 = xx 以前,似乎帕斯卡语法没有。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Greg Hewgill    15 年前

    这似乎是一些非标准的扩展。所讨论的功能的实现是:

    function FooParent.Baz (b, a, z: Char) = s: Str100;
    begin
      WriteStr (s, 'FooParent.Baz (', b, ', ', a, ', ', z, ')')
    end;
    

    通常在pascal中,函数的名称用作函数返回变量,因此上面的函数将按如下方式编写:

    function FooParent.Baz (b, a, z: Char): Str100;
    begin
      WriteStr (Baz, 'FooParent.Baz (', b, ', ', a, ', ', z, ')')
    end;
    

    似乎 = s 语法指示函数的返回值存储在变量中 s 在函数体内部。不过,我不知道为什么需要在对象接口中公开这一点。

        2
  •  -10
  •   Aaron Digulla    8 年前

    我不能回答你的问题,但我建议用这样的语言来学习OOP Python Groovy . 帕斯卡并不是真正能让你建立事业的人。我建议作为第三种或第四种语言,给你一些其他语言如何工作的想法,但不要作为你的第一种/主要语言。

    两者都提供了一个交互式控制台(对于python,我建议 iPython )在那里你可以做一些小实验。

    注:有些人攻击我的理由是我对帕斯卡不太了解。我不知道你从哪里得到这个主意。我的分数超过了20万,所以我知道30种编程语言(know==写了大量的代码),在我职业生涯的开始我就用pascal写了代码。

    我理解,当你所钟爱的编程语言没有得到你认为它应该得到的认可时,这是很痛苦的。一个无需大脑的人:你决定使用这种语言,所以它一定是最好的语言——否则你的决定就错了。

    但是当我比较用我所知道的所有语言编写的代码时,pascal/delphi/modula/oberon就是其中之一,出于各种原因,我不推荐使用它们。德尔菲因为博兰得到了一些牵引力,但那已经结束了。我看过优秀的Delphi程序员编写的代码,我的第一个想法是:维护成本。