1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Inheritance</TITLE>
<META NAME="description" CONTENT="Inheritance">
<META NAME="keywords" CONTENT="users_guide">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="users_guide.css">
<LINK REL="next" HREF="node102.html">
<LINK REL="previous" HREF="node100.html">
<LINK REL="up" HREF="node100.html">
<LINK REL="next" HREF="node102.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html2156"
HREF="node102.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2150"
HREF="node100.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2144"
HREF="node100.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2152"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html2154"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2157"
HREF="node102.html">Interfaces</A>
<B> Up:</B> <A NAME="tex2html2151"
HREF="node100.html">SIDL Runtime</A>
<B> Previous:</B> <A NAME="tex2html2145"
HREF="node100.html">SIDL Runtime</A>
<B> <A NAME="tex2html2153"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html2155"
HREF="node317.html">Index</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION02451000000000000000"></A><A NAME="s:base_inheritance"></A>
<BR>
Inheritance
</H2>
<P>
There is a small collection of interfaces and classes that are defined
by the SIDL runtime library. Some of these objects
are implicitly inherited by objects and classes.
<P>
All classes that do not explicitly extend another class
implicitly extend
<TT><I CLASS="slanted">sidl.BaseClass</I></TT><A NAME="4971"></A><A NAME="4972"></A>.
All interfaces
that do not explicitly extend another interface implicitly
extend
<TT><I CLASS="slanted">sidl.BaseInterface</I></TT><A NAME="4974"></A><A NAME="4975"></A>.
Furthermore, <TT><I CLASS="slanted">sidl.BaseClass</I></TT>
implements <TT><I CLASS="slanted">sidl.BaseInterface</I></TT>.
This means that all classes can be cast to a <TT><I CLASS="slanted">sidl.BaseClass</I></TT>
and all objects can be cast to <TT><I CLASS="slanted">sidl.BaseInterface</I></TT>.
<P>
All exceptions must explicitly implement the interfaces in
<TT><I CLASS="slanted">sidl.BaseException</I></TT><A NAME="4981"></A><A NAME="4982"></A>.
The easiest way to do this is to is to extend the provided class
<TT><I CLASS="slanted">sidl.SIDLException</I></TT>. This is a class the implements the basic
Exception functionality for you, including <TT>getNote</TT> and
<TT>setNote</TT>. You may also override one or more of these functions
if you wish.
<P>
If a method in SIDL claims to throw an object that does not
inherit from <TT><I CLASS="slanted">sidl.BaseException</I></TT>, this is an error and
will be reported by Babel.
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html2156"
HREF="node102.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2150"
HREF="node100.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2144"
HREF="node100.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2152"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html2154"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2157"
HREF="node102.html">Interfaces</A>
<B> Up:</B> <A NAME="tex2html2151"
HREF="node100.html">SIDL Runtime</A>
<B> Previous:</B> <A NAME="tex2html2145"
HREF="node100.html">SIDL Runtime</A>
<B> <A NAME="tex2html2153"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html2155"
HREF="node317.html">Index</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
<br><br>babel-0.10.2<br>users_guide Last Modified 2005-03-23<br><br><a href="http://www.llnl.gov/CASC/components">http://www.llnl.gov/CASC/components</a><br><a href="mailto:components@llnl.gov">components@llnl.gov</a>
</ADDRESS>
</BODY>
</HTML>
|