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
|
<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Object Oriented Programming (GNU Octave (version 10.3.0))</title>
<meta name="description" content="Object Oriented Programming (GNU Octave (version 10.3.0))">
<meta name="keywords" content="Object Oriented Programming (GNU Octave (version 10.3.0))">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="Concept-Index.html" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html" rel="up" title="Top">
<link href="GUI-Development.html" rel="next" title="GUI Development">
<link href="Audio-Processing.html" rel="prev" title="Audio Processing">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
span:hover a.copiable-link {visibility: visible}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">
</head>
<body lang="en">
<div class="chapter-level-extent" id="Object-Oriented-Programming">
<div class="nav-panel">
<p>
Next: <a href="GUI-Development.html" accesskey="n" rel="next">GUI Development</a>, Previous: <a href="Audio-Processing.html" accesskey="p" rel="prev">Audio Processing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h2 class="chapter" id="Object-Oriented-Programming-1"><span>34 Object Oriented Programming<a class="copiable-link" href="#Object-Oriented-Programming-1"> ¶</a></span></h2>
<p>Octave has the ability to create user-defined classes—including the
capabilities of operator and function overloading. Classes can protect
internal properties so that they may not be altered accidentally which
facilitates data encapsulation. In addition, rules can be created to address
the issue of class precedence in mixed class operations.
</p>
<p>This chapter discusses the means of constructing a user class, how to query and
set the properties of a class, and how to overload operators and functions.
Throughout this chapter real code examples are given using a class designed
for polynomials.
</p>
<ul class="mini-toc">
<li><a href="Creating-a-Class.html" accesskey="1">Creating a Class</a></li>
<li><a href="Class-Methods.html" accesskey="2">Class Methods</a></li>
<li><a href="Indexing-Objects.html" accesskey="3">Indexing Objects</a></li>
<li><a href="Overloading-Objects.html" accesskey="4">Overloading Objects</a></li>
<li><a href="Inheritance-and-Aggregation.html" accesskey="5">Inheritance and Aggregation</a></li>
<li><a href="classdef-Classes.html" accesskey="6"><code class="code">classdef</code> Classes</a></li>
</ul>
</div>
</body>
</html>
|