Eiffel 引介 Part V (2)

原创 2003年03月04日 08:56:00

5.5 常量<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

使用如下语法形式声明常量:

constant_name : CLASS_NAME is value

比如:

pi : DOUBLE is 3.14159

base : INTEGER is 10

hello : STRING is “hello”

 

5.6 不需要 make routine 的对象创建过程

l         简单的类别不需要特定的创建程序(creation routine),也是很常见的情况。

l         比如,一个只用来提供标准的数学常量及函数的类别,并不需要作特定的初始化动作。

l         当然,我们总是可以为类别提供一个空的 make routine,而这在 Eiffel 中并不是必需的。我们可以完全忽略 creation 子句。

class BASIC_MATH

-- No creation clause

feature

  pi : REAL is 3.14159

  euler : REAL is 2.71828

  sin( x : REAL ) : REAL is

  ....

end

 

该类别的使用者可能通过声明一个变量来创建 BASIC_MATH 实体,比如

bm : BASIC_MATH

然后执行命令

!!bm

这个命令让系统为一个 BASIC_MATH 型别的对象分配空间并将指向该对象的指针返回给变量 bm

在这种情况下,根本就不需要执行 make

 

5.7 自身引用

l         每一种面向对象语言都提供一种让对象引用其自身的方式。

l         Eiffel 中,用 Current 指代当前的对象。Current 最经常的用法是为另一个对象提供指向先前一个对象的引用。

class SOME_WINDOW_CLASS

sub : ANOTHER_WINDOW_CLASS

  ...

  !!sub.make( Current )

  ...

end

class ANOTHER_WINDOW_CLASS

parent : SOME_WINDOW_CLASS

  ...

  make( p : SOME_WINDOW_CLASS ) is

    do

      parent := p

end

 

 

(全文完)

 

 

[译注参考]

[OOSC2e] Bertrand Meyer, Object-Oriented Software Construction 2nd Edtion. 1997

Spring中的引介增强

通过一个变量来开启性能监视
  • mazhimazh
  • mazhimazh
  • 2014年08月12日 10:10
  • 1653

spring学习笔记(14)引介增强详解:定时器实例:无侵入式动态增强类功能

引介增强实例需求在前面我们已经提到了前置、后置、环绕、最终、异常等增强形式,它们的增强对象都是针对方法级别的,而引介增强,则是对类级别的增强,我们可以通过引介增强为目标类添加新的属性和方法,更为诱人的...
  • qwe6112071
  • qwe6112071
  • 2016年03月23日 13:48
  • 2469

Java - 你如何理解AOP中的连接点(Joinpoint)、切点(Pointcut)、增强(Advice)、引介(Introduction)、织入(Weaving)、切面(Aspect)这些概念?

a. 连接点(Joinpoint):程序执行的某个特定位置(如:某个方法调用前、调用后,方法抛出异常后)。一个类或一段程序代码拥有一些具有边界性质的特定点,这些代码中的特定点就是连接点。Spring仅...
  • chimomo
  • chimomo
  • 2017年11月09日 09:51
  • 287

j​a​v​a​中​引​用​和​c​+​+​中​引​用​的​区​别

http://wenku.baidu.com/link?url=hGrVbvwiE5Ayck8tVE_-ayZT90WS_v8DSrRpG_79kMRGWqT8CGxRJwyqDZmOPc9wLdBk...
  • u014683488
  • u014683488
  • 2014年08月02日 23:57
  • 224

LaTex(PART V)页脚和页眉

相关命令需要的包\usepackage{fancyhdr}相关命令\lhead{}%页眉左边 \chead{}%页眉中间 \rhead{}%页眉右边 \lfoot{}%页脚左边 \cfoot{}%页脚...
  • uncle_gy
  • uncle_gy
  • 2017年10月20日 20:53
  • 77

Netflix公布个性化和推荐系统架构

http://www.infoq.com/cn/news/2013/04/netflix-ml-architecture Netflix的推荐和个性化功能向来精准,前不久,他们公布了自己在这...
  • haizhiguang
  • haizhiguang
  • 2015年05月25日 15:04
  • 841

(读书笔记).NET大局观—.NET引介

本系列笔记为读《.NET大局观》 David chappell著 荣耀 译   的笔记 shine tian看书 .NET是一个施用与一系列技术上的商标 Web services是.NET技术中的...
  • yixiantian7
  • yixiantian7
  • 2013年09月01日 15:40
  • 849

网络的介数中心性(betweenness)及计算方法

昨天面试被问到betweenness的计算方法,很尴尬没有自己实现过。平时用的时候通常用Python的networkx包计算,具体算法之前还没了解过。复杂网络的教材通常就介绍了betweenness的...
  • BetaRun
  • BetaRun
  • 2016年04月16日 15:14
  • 13763

每个程序员都应该了解的 CPU 高速缓存 英文原文:Memory part 2: CPU caches

现在的CPU比25年前要精密得多了。在那个年代,CPU的频率与内存总线的频率基本在同一层面上。内存的访问速度仅比寄存器慢那么一点点。但是,这一局面在上世纪90年代被打破了。CPU的频率大大提升,但内存...
  • yangxi_001
  • yangxi_001
  • 2014年06月11日 17:14
  • 1075

使用Part上传附件

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ ...
  • kcj991932907
  • kcj991932907
  • 2014年11月27日 21:01
  • 627
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Eiffel 引介 Part V (2)
举报原因:
原因补充:

(最多只允许输入30个字)