编辑“︁
Dylan语言
”︁(章节)
跳转到导航
跳转到搜索
脚本错误:没有“Mainspace editnotice”这个模块。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
任何侵權內容
將會刪除 | 百科內容須附有來源,以
供查證
| 維基百科內容均容許他人編輯、使用和重製 | 參閱
繁簡
和
地區詞處理
指引。
反垃圾检查。
不要
加入这个!
==类== 在Dylan中以类似于大多数OO语言的风格,类描述了对象的<code>slot</code>(槽,数据成员,字段,ivar等)。 所有对槽的访问都要通过方法,就像[[Smalltalk]]那样。缺省的<code>getter</code>和<code>setter</code>方法基于槽名字而自动生成。对比于多数其他OO语言,可应用于类的其他方法经常定义于这个类的外部,因此在Dylan中类定义典型的只包括存储的定义。例如: <syntaxhighlight lang=dylan> define class <window> (<view>) slot title :: <string> = "untitled", init-keyword: title:; slot position :: <point>, required-init-keyword: position:; end class; </syntaxhighlight> 在这个例子中,定义了类<code><window></code>。<code><类名字></code>语法只是约定,使得类名字显得突出,尖括号只是这个类名字的一部份。与之相对比,在一些语言中,约定为大写类名字的首字母,或给名字前缀上C或T(举个例子)。<code><window></code>继承了一个单一类<code><view></code>,并包含二个槽:<code>title</code>持有这个窗口标题的字符串,和<code>position</code>持有这个窗口一角的X-Y点。在这个例子中,标题给出为缺省值,而位置还没有值。可选的<code>init-keyword</code>语法允许编程者在初始化这个类的对象时指定这个槽的初始值。 在语言比如C++或Java中,类还定义了它的接口。所以在这二种语言中,如果像上述案例中,类定义没有显式的对可见性的指令,则对数据成员和方法的访问都被当作是<code>protected</code>,意味着它们只能被子类使用。要使得无关代码使用这个窗口的实例,它们必须给声明为<code>public</code>。 在Dylan中,这些槽的可见性规则不被当作这个代码的一部份,而是模块/接口系统的一部份。这增加了相当大的灵活性。例如,在早期开发中用的接口可以声明所有东西为<code>public</code>,而用在测试和部署中用的接口会加以限制。对于C++或Java,这种变更会需要改变源代码,所有人们就不做了,而在Dylan中,这是完全无关的概念。 尽管这个例子没有用到,Dylan还支持[[多重继承]]。
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
分类索引
特色内容
新闻动态
随机页面
联络我们
关于
资助维基百科
interaction
帮助
社群首页
introduction
互助客栈
IRC即时聊天
最近更改
特殊页面
工具
链入页面
相关更改
特殊页面
页面信息