blob: 59659d646bc8fe856238962eb3abc9fc5dc72274 [file] [log] [blame]
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "../xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="../css/ot.css" />
<link rel="stylesheet" type="text/css" href="../css/otjld.css" />
<title>OT/J Language Definition v1.3</title>
</head>
<body class="otdt">
<div id="content">
<table class="nav">
<tr>
<td class="back"><a id="top"></a><a href="s1.3.1.h.html" rel="prev">&lt;&lt;&nbsp;&sect;1.3.1.(h)&nbsp;Preserving visibility</a></td>
<td class="top"><a href="index.html" rel="contents">&uarr;&nbsp;Table of Contents&nbsp;&uarr;</a></td>
<td class="next"><a href="s1.3.1.j.html" rel="next">&sect;1.3.1.(j)&nbsp;Overriding and compatibility&nbsp;&gt;&gt;</a></td>
</tr>
</table>
<div class="breadcrumb"><a class="nav" href="s1.html" rel="section">&sect;1&nbsp;Teams and Roles</a>&nbsp;&gt;&nbsp;<a class="nav" href="s1.3.html" rel="section">&sect;1.3&nbsp;Acquisition and implicit inheritance of role classes</a>&nbsp;&gt;&nbsp;<a class="nav" href="s1.3.1.html" rel="section">&sect;1.3.1&nbsp;Acquisition and implicit inheritance of role classes</a></div>
<div class="subsect depth4" id="s1.3.1.i">
<h4 class="subsect">&sect;1.3.1.(i)&nbsp;<span class="title">Dynamic binding of constructors</span><a class="img" href="s1.3.1.i.html"
title="PermaLink to (i)&nbsp;Dynamic binding of constructors"><img style="vertical-align:text-top;margin-left:5px;" src="../images/permalink.png"
alt="" /></a></h4>
<p>When creating a role instance using <code>new</code> not only the
type to instantiate is bound dynamically (cf. <a href="s1.3.1.e.html" title="&sect;1.3.1.(e)&nbsp;Dynamic binding of types"
class="sect">&sect;1.3.1.(e)</a>), but also the constructor to
invoke is dynamically bound in accordance to the concrete
type.<br />
Within role constructors all <code>this(..)</code> and
<code>super(..)</code> calls are bound statically with respect to explicit inheritance
and dynamically with respect to implicit inheritance. This means the target role name is
determined statically, but using that name the suitable role type is determined
using dynamic binding.
<br />
See also <a href="s2.5.a.html"
title="&sect;2.5.(a)&nbsp;Using abstract classes for creation"
class="sect">&sect;2.5.(a)</a> on using constructors of abstract role classes.
</p>
</div>
<table class="nav">
<tr>
<td class="back"><a href="s1.3.1.h.html" rel="prev">&lt;&lt;&nbsp;&sect;1.3.1.(h)&nbsp;Preserving visibility</a></td>
<td class="top"><a href="index.html" rel="contents">&uarr;&nbsp;Table of Contents&nbsp;&uarr;</a></td>
<td class="next"><a href="s1.3.1.j.html" rel="next">&sect;1.3.1.(j)&nbsp;Overriding and compatibility&nbsp;&gt;&gt;</a></td>
</tr>
</table>
<div class="breadcrumb"><a class="nav" href="s1.html" rel="section">&sect;1&nbsp;Teams and Roles</a>&nbsp;&gt;&nbsp;<a class="nav" href="s1.3.html" rel="section">&sect;1.3&nbsp;Acquisition and implicit inheritance of role classes</a>&nbsp;&gt;&nbsp;<a class="nav" href="s1.3.1.html" rel="section">&sect;1.3.1&nbsp;Acquisition and implicit inheritance of role classes</a></div>
</div>
<div id="footer">
<hr /><a class="w3c img" href="http://jigsaw.w3.org/css-validator/check/referer"
shape="rect"><img src="../images/valid-css2-blue.png" alt="Valid CSS!" height="31" width="88" /></a><a class="w3c img" href="http://validator.w3.org/check?uri=referer" shape="rect"><img src="../images/valid-xhtml10-blue.png" alt="Valid XHTML 1.0 Strict" height="31"
width="88" /></a><address>&copy; Stephan Herrmann, Christine Hundt, Marco Mosconi</address>
OT/J version 1.3 &mdash; last modified: 2010-10-05
</div>
</body>
</html>