<div dir="ltr"><div class="gmail_default" style="color:#336666">I tried making a simple example of a superclass with a let variable, and a subclass that sets that variable to something different in its initializer. It didn&#39;t compile. The let variable was not marked final either. So I don&#39;t think adding final actually does anything for a let variable because there is no way for a subclass to change its value anyways. Right?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 13, 2016 at 7:05 PM, Azuan via swift-users <span dir="ltr">&lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">I do undertand the difference. But would someone be kind enough to enlighten me with the correct example on how would you override a let variable in it’s subclasses and that you can prevent it by using the final modifier?</div><div style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div> <br> <div><div style="font-family:helvetica,arial;font-size:13px">Regards,<br>Azuan<br></div></div><div><div class="h5"> <br><p>On 14 June 2016 at 9:59:16 AM, Jens Alfke (<a href="mailto:jens@mooseyard.com" target="_blank">jens@mooseyard.com</a>) wrote:</p> <blockquote type="cite"><span><div style="word-wrap:break-word"><div></div><div>





<br>
<blockquote type="cite">On Jun 12, 2016, at 10:43 PM,
Azuan via swift-users &lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt; wrote:<br>
<br>
Read in docs, saying that by using final on variables, you can’t
override it in it’s subclass. Using `final var` makes sense to me.
But what is the purpose of using `final let` since by using
`let`, it is already an immutable variable anyway.<br></blockquote>
<br>
<div>Immutable isn’t the same as non-overridable.
Immutable just means that its value <i>in a single
instance</i> can’t be changed after initialization. But there’s
nothing stopping you from creating a subclass that has a different
value for that constant.</div>
<div><br></div>
<div>—Jens</div>


</div></div></span></blockquote></div></div></div><br>_______________________________________________<br>
swift-users mailing list<br>
<a href="mailto:swift-users@swift.org">swift-users@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br>
<br></blockquote></div><br></div>