<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to keywords-final</title><link>https://sourceforge.net/p/asil/wiki/keywords-final/</link><description>Recent changes to keywords-final</description><atom:link href="https://sourceforge.net/p/asil/wiki/keywords-final/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 19 Feb 2014 12:40:28 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/asil/wiki/keywords-final/feed" rel="self" type="application/rss+xml"/><item><title>keywords-final modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/keywords-final/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -20,4 +20,4 @@
 /AccessQualifierIfNeeded/ \final\ (\command\ | \function\ | \statement\ | \property\ | \get\ | \get\) /RestOfDeclaration/
 ~~~~

-Commands, functions, complex statements, and properties require that /AccessQualifierIfNeeded/ evaluate to "&lt;code&gt;(\public\ | \protected\ | \private\)&lt;/code&gt;".  Property accessors don't require an access qualifier, but if your circumstances require one, add **[public](keywords-public)**, **[protected](keywords-protected)**, or **[private](keywords-private)** as needed.
+Commands, functions, complex statements, and properties require that /AccessQualifierIfNeeded/ evaluate to "&lt;code&gt;(\public\ | \protected\ | \private\\)&lt;/code&gt;".  Property accessors don't require an access qualifier, but if your circumstances require one, add **[public](keywords-public)**, **[protected](keywords-protected)**, or **[private](keywords-private)** as needed.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Wed, 19 Feb 2014 12:40:28 -0000</pubDate><guid>https://sourceforge.net87fc106d38aba8e4cf464f24d2cbd579b82c2c04</guid></item><item><title>keywords-final modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/keywords-final/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This can either prevent other types from deriving from this type or prevents those types from overriding a virtual method or property.  For more information, see the sections &lt;a class="alink" href="/p/asil/wiki/Derivation/"&gt;[Derivation]&lt;/a&gt; and &lt;a class="alink" href="/p/asil/wiki/Members%20and%20methods/"&gt;[Members and methods]&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="final-types"&gt;Final types&lt;/h2&gt;
&lt;p&gt;A type that's &lt;strong&gt;final&lt;/strong&gt; can't be used as a base type by another type.  Place it just before &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-class/"&gt;class&lt;/a&gt;&lt;/strong&gt;/&lt;strong&gt;&lt;a class="" href="../keywords-struct"&gt;struct&lt;/a&gt;&lt;/strong&gt; keyword.  All &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-enum/"&gt;enum&lt;/a&gt;&lt;/strong&gt; types are implicitly &lt;strong&gt;final&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;/AccessQualifierIfNeeded/ \final\ (\struct\ | \class\) /RestOfTypeDeclaration/
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If your type is part of another type or a namespace, you must use /AccessQualifierIfNeeded/ to specify &lt;strong&gt;&lt;a class="" href="../keywords-public"&gt;public&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a class="" href="../keywords-protected"&gt;protected&lt;/a&gt;&lt;/strong&gt;, or &lt;strong&gt;&lt;a class="" href="../keywords-private"&gt;private&lt;/a&gt;&lt;/strong&gt;.  Otherwise, access qualifiers aren't allowed.  For what to put where /RestOfTypeDeclaration/ appears in the sample above, see &lt;strong&gt;&lt;a class="" href="../keywords-struct"&gt;struct&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a class="" href="../keywords"&gt;class&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="final-methods-and-properties"&gt;Final methods and properties&lt;/h2&gt;
&lt;p&gt;If you declare a method or property as &lt;strong&gt;final&lt;/strong&gt;, types that derive from yours can't override it without the &lt;strong&gt;&lt;a class="" href="../keywords-new"&gt;new&lt;/a&gt;&lt;/strong&gt; keyword.  &lt;strong&gt;final&lt;/strong&gt; methods and properties are normally, but don't have to be, &lt;strong&gt;&lt;a class="" href="../keywords-virtual"&gt;virtual&lt;/a&gt;&lt;/strong&gt;.  To make final a command, function, complex statement, or property; place the &lt;strong&gt;final&lt;/strong&gt; keyword immediately before the &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-command/"&gt;command&lt;/a&gt;&lt;/strong&gt;/&lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-function/"&gt;function&lt;/a&gt;&lt;/strong&gt;/&lt;strong&gt;&lt;a class="" href="/p/asil/wiki/keywords-statement/"&gt;statement&lt;/a&gt;&lt;/strong&gt;/&lt;strong&gt;&lt;a class="" href="../keywords"&gt;property&lt;/a&gt;&lt;/strong&gt; keyword.  To declare a property accessor as &lt;strong&gt;final&lt;/strong&gt;, place the &lt;strong&gt;final&lt;/strong&gt; keyword immediately before the &lt;strong&gt;&lt;a class="" href="../keywords-get"&gt;get&lt;/a&gt;&lt;/strong&gt;/&lt;strong&gt;&lt;a class="" href="../keywords-set"&gt;set&lt;/a&gt;&lt;/strong&gt; keyword.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;/AccessQualifierIfNeeded/ \final\ (\command\ | \function\ | \statement\ | \property\ | \get\ | \get\) /RestOfDeclaration/
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Commands, functions, complex statements, and properties require that /AccessQualifierIfNeeded/ evaluate to "&lt;code&gt;(\public\ | \protected\ | \private)&lt;/code&gt;".  Property accessors don't require an access qualifier, but if your circumstances require one, add &lt;strong&gt;&lt;a class="" href="../keywords-public"&gt;public&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a class="" href="../keywords-protected"&gt;protected&lt;/a&gt;&lt;/strong&gt;, or &lt;strong&gt;&lt;a class="" href="../keywords-private"&gt;private&lt;/a&gt;&lt;/strong&gt; as needed.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Wed, 19 Feb 2014 12:39:57 -0000</pubDate><guid>https://sourceforge.net12a3478c1699f96103123351c7d3c745b4ea627f</guid></item></channel></rss>