<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Texinfo (version 6.7, 23 September 2019),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.
Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
1998, 1999, 2001, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Free Software
Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
"GNU Free Documentation License". -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Object-Oriented Variables (GNU Texinfo 6.7)</title>
<meta name="description" content="Object-Oriented Variables (GNU Texinfo 6.7)">
<meta name="keywords" content="Object-Oriented Variables (GNU Texinfo 6.7)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<link href="index.html" rel="start" title="Top">
<link href="Command-and-Variable-Index.html" rel="index" title="Command and Variable Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Abstract-Objects.html" rel="up" title="Abstract Objects">
<link href="Object_002dOriented-Methods.html" rel="next" title="Object-Oriented Methods">
<link href="Abstract-Objects.html" rel="prev" title="Abstract Objects">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<span id="Object_002dOriented-Variables"></span><div class="header">
<p>
Next: <a href="Object_002dOriented-Methods.html" accesskey="n" rel="next">Object-Oriented Methods</a>, Up: <a href="Abstract-Objects.html" accesskey="u" rel="up">Abstract Objects</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<span id="Object_002dOriented-Variables-1"></span><h4 class="subsubsection">14.5.6.1 Object-Oriented Variables</h4>
<span id="index-Variables_002c-object_002doriented"></span>
<p>These commands allow you to define different sorts of variables in
object-oriented programming languages.
</p>
<dl compact="compact">
<dt><code>@defcv <var>category</var> <var>class</var> <var>name</var></code></dt>
<dd><span id="index-defcv"></span>
<p>The <code>@defcv</code> command is the general definition command for
variables associated with classes in object-oriented programming. The
<code>@defcv</code> command is followed by three arguments: the category of
thing being defined, the class to which it belongs, and its
name. For instance:
</p>
<div class="example">
<pre class="example">@defcv {Class Option} Window border-pattern
…
@end defcv
</pre></div>
<p>produces:
</p><dl>
<dt id="index-border_002dpattern">Class Option of Window: <strong>border-pattern</strong></dt>
<dd><p>…
</p></dd></dl>
<p><code>@defcv</code> creates an entry in the index of variables.
</p>
</dd>
<dt><code>@deftypecv <var>category</var> <var>class</var> <var>data-type</var> <var>name</var></code></dt>
<dd><span id="index-deftypecv"></span>
<p>The <code>@deftypecv</code> command is the definition command for typed
class variables in object-oriented programming. It is analogous to
<code>@defcv</code> with the addition of the <var>data-type</var> parameter to
specify the type of the instance variable. Ordinarily, the data type
is a programming language construct that should be marked with
<code>@code</code>. For instance:
</p>
<div class="example">
<pre class="example">@deftypecv {Class Option} Window @code{int} border-pattern
…
@end deftypecv
</pre></div>
<p>produces:
</p>
<dl>
<dt id="index-border_002dpattern-of-Window">Class Option of Window: <em><code>int</code></em> <strong>border-pattern</strong></dt>
<dd><p>…
</p></dd></dl>
<p><code>@deftypecv</code> creates an entry in the index of variables.
</p>
</dd>
<dt><code>@defivar <var>class</var> <var>name</var></code></dt>
<dd><span id="index-defivar"></span>
<p>The <code>@defivar</code> command is the definition command for instance
variables in object-oriented programming. <code>@defivar</code> is
equivalent to ‘<samp>@defcv {Instance Variable} …</samp>’. For
instance:
</p>
<div class="example">
<pre class="example">@defivar Window border-pattern
…
@end defivar
</pre></div>
<p>produces:
</p>
<dl>
<dt id="index-border_002dpattern-of-Window-1">Instance Variable of Window: <strong>border-pattern</strong></dt>
<dd><p>…
</p></dd></dl>
<p><code>@defivar</code> creates an entry in the index of variables.
</p>
</dd>
<dt><code>@deftypeivar <var>class</var> <var>data-type</var> <var>name</var></code></dt>
<dd><span id="index-deftypeivar"></span>
<p>The <code>@deftypeivar</code> command is the definition command for typed
instance variables in object-oriented programming. It is analogous to
<code>@defivar</code> with the addition of the <var>data-type</var> parameter to
specify the type of the instance variable. Ordinarily, the data type
is a programming language construct that should be marked with
<code>@code</code>. For instance:
</p>
<div class="example">
<pre class="example">@deftypeivar Window @code{int} border-pattern
…
@end deftypeivar
</pre></div>
<p>produces:
</p>
<dl>
<dt id="index-border_002dpattern-of-Window-2">Instance Variable of Window: <em><code>int</code></em> <strong>border-pattern</strong></dt>
<dd><p>…
</p></dd></dl>
<p><code>@deftypeivar</code> creates an entry in the index of variables.
</p>
</dd>
</dl>
<hr>
<div class="header">
<p>
Next: <a href="Object_002dOriented-Methods.html" accesskey="n" rel="next">Object-Oriented Methods</a>, Up: <a href="Abstract-Objects.html" accesskey="u" rel="up">Abstract Objects</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>