MATLAB Object-Oriented Programming

(Joyce) #1

Example Code Discussion


classdef dlnode < handle “dlnode Class Design” on page 3-31


“Why a Handle Class for Linked Lists?”
on page 3-34

“Comparison of Handle and Value
Classes” on page 7-2

properties
Data
end


“dlnode Class Design” on page 3-31

properties (SetAccess = private)
Next = dlnode.empty
Prev = dlnode.empty
end


“Property Attributes” on page 8-9:
SetAccess.

Initialize these properties to empty
dlnode objects.

For general information about properties,
see “Property Syntax” on page 8-5

methods For general information about methods,


see“Methods in Class Design” on page 9-
2

function node = dlnode(Data)
if (nargin > 0)
node.Data = Data;
end
end


Creating an individual node (not
connected) requires only the data.

For general information about
constructors, see “Guidelines for
Constructors” on page 9-23

function insertAfter(newNode, nodeBefore)
removeNode(newNode);
newNode.Next = nodeBefore.Next;
newNode.Prev = nodeBefore;
if ~isempty(nodeBefore.Next)
nodeBefore.Next.Prev = newNode;
end
nodeBefore.Next = newNode;
end


Insert node into a doubly linked list after
specified node, or link the two specified
nodes if there is not already a list. Assigns
the correct values for Next and Prev
properties.

“Insert Nodes” on page 3-39

Implementing Linked Lists with Classes
Free download pdf