<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Olaf's Thoughts About Development &#187; OOP</title>
	<atom:link href="http://www.monien.net/blog/index.php" rel="self" type="application/rss+xml" />
	<link>http://www.monien.net/blog</link>
	<description>Delphi Programming, .NET Philosophy, Web development and more ...</description>
	<lastBuildDate>Mon, 14 Mar 2011 15:59:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>DelphiLive 2009 &#8211; Physical Delphi Conference in the US</title>
		<link>http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/</link>
		<comments>http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 14:54:55 +0000</pubDate>
		<dc:creator>Olaf Monien</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[IntraWeb]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[CodeGear]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[delphi developers]]></category>
		<category><![CDATA[Delphi Prism]]></category>
		<category><![CDATA[delphi win 32]]></category>
		<category><![CDATA[DelphiLive]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[San Jose]]></category>

		<guid isPermaLink="false">http://www.monien.net/blog/?p=228</guid>
		<description><![CDATA[Update: Sessions are online and registration is open now: www.delphilive.com As an Advisory Board member I am proud to post this official pre-announcement for the next, long awaited physical Delphi conference. Where: San Jose, CA, USA When: May 13th – 16th 2009 Who: All Delphi developers, let it be Delphi Win 32, Delphi Prism or [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: Sessions are online and registration is open now:</strong> <a href="http://www.delphilive.com" target="_blank">www.delphilive.com</a></p>
<p>As an Advisory Board member I am proud to post this official pre-announcement for the next, long awaited physical Delphi conference.</p>
<p><a href="http://www.delphilive.com" target="_blank"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="Logo" src="http://www.monien.net/blog/wp-content/uploads/lw/DelphiLive2009PhysicalDelphiConferencein_DFBD/Logo_thumb.gif" border="0" alt="Logo" width="244" height="57" /></a></p>
<p><strong>Where: San Jose, CA, USA<br />
</strong><strong>When: May 13th – 16th 2009<br />
Who: All Delphi developers, let it be Delphi Win 32, Delphi Prism or Delphi for PHP ones.</strong></p>
<p><span id="more-228"></span></p>
<p>We will try to get all the known top speakers, from the US and Overseas to make this event absolutely rocking. The conference will be organized by <a href="http://software-support.biz/zonen/sus/psecom,id,1,nodeid,1,p,0,_language,en.html">Software &amp; Support Verlag</a>, supported by CodeGear / Embarcadero. San Jose was chosen as location as it is close to CodeGear’s HQ, so that CodeGear staff can show up easily.</p>
<h3>Attendees</h3>
<p>For now, block this event in your calendar if you are interested. We will keep the price affordable – details will be posted asap.</p>
<p>To register, please go to the DelphiLive 2009 Website – which will go online in the next two weeks. We will send announcement emails through CodeGear’s Developer Network as soon as registration is open. Make sure you are signed up at <a href="http://dn.codegear.com/">CodeGear Developer Network</a> and CDN emails are not blocked by your spam filters.</p>
<h3>Speakers</h3>
<p>If you want to present sessions at Delphi Live 2009, then please stay tuned for the official Call For Papers, which will be made public in the next 2 days or so.</p>
<h3>Topics</h3>
<p>We will cover from basics to advanced topics all around Delphi. The final topic list will be made available as soon as the call for papers is closed.</p>
<p>Following is a draft of tracks:</p>
<ul>
<li>Architecture / Design</li>
<li>OOP</li>
<li>Database</li>
<li>IDE, Tools &amp; Components</li>
<li>Core Development</li>
<li>Basics / Fundamentals</li>
<li>Native Delphi</li>
<li>Delphi Prism</li>
<li>Delphi &amp; .NET</li>
<li>Delphi &amp; Web</li>
<li>Delphi &amp; PHP</li>
<li>Delphi &amp; Ruby on Rails</li>
</ul>
<p>If you have suggestions for specific topics you would like to be covered (and which you do not want to present yourself), then feel free to post these suggestions as comments to this blog. The same goes for speakers which you would definitely like to see in San Jose.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=DelphiLive+2009+%26ndash%3B+Physical+Delphi+Conference+in+the+US&amp;link=http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/&amp;notes=Update%3A%20Sessions%20are%20online%20and%20registration%20is%20open%20now%3A%20www.delphilive.com%0D%0A%0D%0AAs%20an%20Advisory%20Board%20member%20I%20am%20proud%20to%20post%20this%20official%20pre-announcement%20for%20the%20next%2C%20long%20awaited%20physical%20Delphi%20conference.%0D%0A%0D%0A%0D%0A%0D%0AWhere%3A%20San%20Jose%2C%20CA%2C%20USA%0D%0AWhen%3A%20May%2013th%20%E2%80%93%2016th%202009%0D%0AWho%3A%20All%20Delphi%20develope&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=DelphiLive+2009+%26ndash%3B+Physical+Delphi+Conference+in+the+US&amp;link=http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/&amp;notes=Update%3A%20Sessions%20are%20online%20and%20registration%20is%20open%20now%3A%20www.delphilive.com%0D%0A%0D%0AAs%20an%20Advisory%20Board%20member%20I%20am%20proud%20to%20post%20this%20official%20pre-announcement%20for%20the%20next%2C%20long%20awaited%20physical%20Delphi%20conference.%0D%0A%0D%0A%0D%0A%0D%0AWhere%3A%20San%20Jose%2C%20CA%2C%20USA%0D%0AWhen%3A%20May%2013th%20%E2%80%93%2016th%202009%0D%0AWho%3A%20All%20Delphi%20develope&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=DelphiLive+2009+%26ndash%3B+Physical+Delphi+Conference+in+the+US&amp;link=http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/&amp;notes=Update%3A%20Sessions%20are%20online%20and%20registration%20is%20open%20now%3A%20www.delphilive.com%0D%0A%0D%0AAs%20an%20Advisory%20Board%20member%20I%20am%20proud%20to%20post%20this%20official%20pre-announcement%20for%20the%20next%2C%20long%20awaited%20physical%20Delphi%20conference.%0D%0A%0D%0A%0D%0A%0D%0AWhere%3A%20San%20Jose%2C%20CA%2C%20USA%0D%0AWhen%3A%20May%2013th%20%E2%80%93%2016th%202009%0D%0AWho%3A%20All%20Delphi%20develope&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=DelphiLive+2009+%26ndash%3B+Physical+Delphi+Conference+in+the+US&amp;link=http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/&amp;notes=Update%3A%20Sessions%20are%20online%20and%20registration%20is%20open%20now%3A%20www.delphilive.com%0D%0A%0D%0AAs%20an%20Advisory%20Board%20member%20I%20am%20proud%20to%20post%20this%20official%20pre-announcement%20for%20the%20next%2C%20long%20awaited%20physical%20Delphi%20conference.%0D%0A%0D%0A%0D%0A%0D%0AWhere%3A%20San%20Jose%2C%20CA%2C%20USA%0D%0AWhen%3A%20May%2013th%20%E2%80%93%2016th%202009%0D%0AWho%3A%20All%20Delphi%20develope&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=DelphiLive+2009+%26ndash%3B+Physical+Delphi+Conference+in+the+US&amp;link=http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/&amp;notes=Update%3A%20Sessions%20are%20online%20and%20registration%20is%20open%20now%3A%20www.delphilive.com%0D%0A%0D%0AAs%20an%20Advisory%20Board%20member%20I%20am%20proud%20to%20post%20this%20official%20pre-announcement%20for%20the%20next%2C%20long%20awaited%20physical%20Delphi%20conference.%0D%0A%0D%0A%0D%0A%0D%0AWhere%3A%20San%20Jose%2C%20CA%2C%20USA%0D%0AWhen%3A%20May%2013th%20%E2%80%93%2016th%202009%0D%0AWho%3A%20All%20Delphi%20develope&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-technorati">
			<a href="http://www.shareaholic.com/api/share/?title=DelphiLive+2009+%26ndash%3B+Physical+Delphi+Conference+in+the+US&amp;link=http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/&amp;notes=Update%3A%20Sessions%20are%20online%20and%20registration%20is%20open%20now%3A%20www.delphilive.com%0D%0A%0D%0AAs%20an%20Advisory%20Board%20member%20I%20am%20proud%20to%20post%20this%20official%20pre-announcement%20for%20the%20next%2C%20long%20awaited%20physical%20Delphi%20conference.%0D%0A%0D%0A%0D%0A%0D%0AWhere%3A%20San%20Jose%2C%20CA%2C%20USA%0D%0AWhen%3A%20May%2013th%20%E2%80%93%2016th%202009%0D%0AWho%3A%20All%20Delphi%20develope&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=10&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.monien.net/blog/index.php/2009/01/delphilive-2009-physical-delphi-conference-in-the-us/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Implicit Fields and Inline Expressions in Delphi Prism Simplify Property Design</title>
		<link>http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/</link>
		<comments>http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 12:00:53 +0000</pubDate>
		<dc:creator>Olaf Monien</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[C# 3.0]]></category>
		<category><![CDATA[Delphi Prism]]></category>
		<category><![CDATA[IL]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Pascal]]></category>
		<category><![CDATA[prism]]></category>

		<guid isPermaLink="false">http://www.monien.net/blog/?p=226</guid>
		<description><![CDATA[In OOP, we are using Properties to be able to limit access to class members, or to have &#8220;calculated&#8221; values.  In Delphi Native Pascal, a class with 3 properties may look like this: TEmployee = class(TPerson) private FHoursPerWeek: Double; FWeeklyRate: Double; FHourlyRate: Double; procedure SetHourlyRate(const Value: Double); procedure SetHoursPerWeek(const Value: Double); function GetWeeklyRate: Double; public [...]]]></description>
			<content:encoded><![CDATA[<p>In OOP, we are using Properties to be able to limit access to class members, or to have &#8220;calculated&#8221; values.  In Delphi Native Pascal, a class with 3 properties may look like this:</p>
<p><span id="more-226"></span></p>
<pre class="brush: delphi">

TEmployee = class(TPerson)
private
FHoursPerWeek: Double;
FWeeklyRate: Double;
FHourlyRate: Double;
procedure SetHourlyRate(const Value: Double);
procedure SetHoursPerWeek(const Value: Double);
function GetWeeklyRate: Double;
public
property HourlyRate: Double read FHourlyRate write SetHourlyRate;
property HoursPerWeek: Double read FHoursPerWeek write SetHoursPerWeek;
property WeeklyRate: Double read GetWeeklyRate;
end;

...

{ TEmployee }

function TEmployee.GetWeeklyRate: Double;
begin
Result := HourlyRate * HoursPerWeek;
end;

procedure TEmployee.SetHourlyRate(const Value: Double);
begin
FHourlyRate := Value;
end;

procedure TEmployee.SetHoursPerWeek(const Value: Double);
begin
FHoursPerWeek := Value;
end;
</pre>
<p>In the example above &#8220;HourlyRate&#8221; is what an employee get&#8217;s paid per hour. This value can be read and set. &#8220;WeeklyRate&#8221; is a read/only calculated value, which depends on &#8220;HourlyRate&#8221; and &#8220;HoursPerWeek&#8221;.</p>
<p>This all looks fine and we know how to deal with that since years. And it works the same way in Delphi Prism.</p>
<p>But sometimes, when you design a new class, do you always follow the &#8220;property-hides-field&#8221; pattern? Even if Delphi makes life easy with &#8220;Ctrl-Shift-C&#8221;, the code may look pretty much bloated, esp. if you have standard properties, not doing anything special. So you might just use &#8220;simple&#8221; Fields where possible. This is bad design of course, as if you need to change to a &#8220;real&#8221; property later, because you need to calculate something in a get or set method, you would have to change your classes signature, which may break compatibility &#8230;</p>
<p>Delphi Prism introduces two new language features to Pascal, which may prevent code from bloating and actually helps readability.</p>
<h3>Implicit Fields</h3>
<p>Implicit fields are fields which are created by the compiler automatically for properties which do not have any read or write accessors.</p>
<p>This is how the example would look like using implicit fields:</p>
<pre class="brush: delphi">

TEmployee = class(TPerson)
private
FWeeklyRate: Double;
function GetWeeklyRate: Double;
public
property HourlyRate: Double;
property HoursPerWeek: Double;
property WeeklyRate: Double read GetWeeklyRate;
end;
implementation

{ TEmployee }
function TEmployee.GetWeeklyRate: Double;
begin
Result := HourlyRate * HoursPerWeek;
end;
</pre>
<p>So this already look much less bloated. <span style="text-decoration: line-through;">Implicit fields are not an invention of Delphi Prism though, but they were introduced with C# 3.0</span> Implicit Fields exist in Prism since 2004. They were introduced to C# 3.0 just a moment later, in 2008 <img src='http://www.monien.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  , and they are called <a title="Auto-Implemented Properties" href="http://msdn.microsoft.com/en-us/library/bb384054.aspx">Auto-Implemented Properties</a> here. The beauty of Pascal gets apparent though, once you compare Prism&#8217;s syntax with its C# equivalent:</p>
<pre class="brush: csharp">

class TEmployee
{
public Double HourlyRate {get; set;}
public Double HoursPerWeek {get; set;}

...
}
</pre>
<p>In Pascal there is no need to write these &#8220;stub&#8221; get and set calls.</p>
<p>Technically, it&#8217;s important to notice that Prism automatically creates a &#8220;get&#8221; and &#8220;set&#8221; method, plus a hidden private field for these properties. These hidden fields cannot be accessed in the classes code,  just use the Property itself everywhere. If you are not convinced that there are really hidden fields, then lets have a look at the IL code behind that (extracted using Red Gate&#8217;s Reflector):</p>
<pre class="brush: php">

.method public hidebysig specialname instance void set_HoursPerWeek(float64 &#039;value&#039;) cil managed
{
.maxstack 3
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: stfld float64 WindowsApplication5.TEmployee::@p_HoursPerWeek
L_0007: ret
}
</pre>
<p>The field gets obviously hidden by using &#8220;@&#8221; in it&#8217;s name which is not valid for Pascal, thus cannot be accessed. In C#, they are using brackets in the hidden private field name for the same purpose:</p>
<p>&lt;HoursPerWeek&gt;k__BackingField</p>
<h3>Inline Expressions</h3>
<p>With inline expressions you can make the code look even nicer. And best of all, to my knowledge there is no C# equivalent <img src='http://www.monien.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Inline expressions may be used directly after the &#8220;read&#8221; keyword. This may drastically improve the readability of your code. Compare the final code example with the one at the very top!</p>
<pre class="brush: delphi">

TEmployee = class(TPerson)
public
property HourlyRate: Double;
property HoursPerWeek: Double;
property WeeklyRate: Double read HourlyRate * HoursPerWeek;
end;
</pre>
<p>Yes, this the complete TEmployee definition. No further implementation needed. Just 6 Lines, compared to the initial roughly 25 ones!</p>
<p>The <a title="Delphi Prism Wiki" href="http://prismwiki.codegear.com/en/Properties">Delphi Prism Wiki</a> has an entry about &#8220;Class Properties&#8221;, which explains a few more details. (The &#8220;Implicit Fields&#8221; feature is a bit &#8220;hidden&#8221; though)</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Implicit+Fields+and+Inline+Expressions+in+Delphi+Prism+Simplify+Property+Design&amp;link=http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/&amp;notes=In%20OOP%2C%20we%20are%20using%20Properties%20to%20be%20able%20to%20limit%20access%20to%20class%20members%2C%20or%20to%20have%20%22calculated%22%20values.%C2%A0%20In%20Delphi%20Native%20Pascal%2C%20a%20class%20with%203%20properties%20may%20look%20like%20this%3A%0D%0A%0D%0A%0D%0A%0D%0A%5Bsourcecode%20language%3D%22delphi%22%5D%0D%0A%0D%0ATEmployee%20%3D%20class%28TPerson%29%0D%0Aprivate%0D%0AFHoursPerWeek%3A%20Double%3B%0D%0AFWeeklyRate%3A%20Dou&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Implicit+Fields+and+Inline+Expressions+in+Delphi+Prism+Simplify+Property+Design&amp;link=http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/&amp;notes=In%20OOP%2C%20we%20are%20using%20Properties%20to%20be%20able%20to%20limit%20access%20to%20class%20members%2C%20or%20to%20have%20%22calculated%22%20values.%C2%A0%20In%20Delphi%20Native%20Pascal%2C%20a%20class%20with%203%20properties%20may%20look%20like%20this%3A%0D%0A%0D%0A%0D%0A%0D%0A%5Bsourcecode%20language%3D%22delphi%22%5D%0D%0A%0D%0ATEmployee%20%3D%20class%28TPerson%29%0D%0Aprivate%0D%0AFHoursPerWeek%3A%20Double%3B%0D%0AFWeeklyRate%3A%20Dou&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Implicit+Fields+and+Inline+Expressions+in+Delphi+Prism+Simplify+Property+Design&amp;link=http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/&amp;notes=In%20OOP%2C%20we%20are%20using%20Properties%20to%20be%20able%20to%20limit%20access%20to%20class%20members%2C%20or%20to%20have%20%22calculated%22%20values.%C2%A0%20In%20Delphi%20Native%20Pascal%2C%20a%20class%20with%203%20properties%20may%20look%20like%20this%3A%0D%0A%0D%0A%0D%0A%0D%0A%5Bsourcecode%20language%3D%22delphi%22%5D%0D%0A%0D%0ATEmployee%20%3D%20class%28TPerson%29%0D%0Aprivate%0D%0AFHoursPerWeek%3A%20Double%3B%0D%0AFWeeklyRate%3A%20Dou&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.shareaholic.com/api/share/?title=Implicit+Fields+and+Inline+Expressions+in+Delphi+Prism+Simplify+Property+Design&amp;link=http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/&amp;notes=In%20OOP%2C%20we%20are%20using%20Properties%20to%20be%20able%20to%20limit%20access%20to%20class%20members%2C%20or%20to%20have%20%22calculated%22%20values.%C2%A0%20In%20Delphi%20Native%20Pascal%2C%20a%20class%20with%203%20properties%20may%20look%20like%20this%3A%0D%0A%0D%0A%0D%0A%0D%0A%5Bsourcecode%20language%3D%22delphi%22%5D%0D%0A%0D%0ATEmployee%20%3D%20class%28TPerson%29%0D%0Aprivate%0D%0AFHoursPerWeek%3A%20Double%3B%0D%0AFWeeklyRate%3A%20Dou&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Implicit+Fields+and+Inline+Expressions+in+Delphi+Prism+Simplify+Property+Design&amp;link=http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/&amp;notes=In%20OOP%2C%20we%20are%20using%20Properties%20to%20be%20able%20to%20limit%20access%20to%20class%20members%2C%20or%20to%20have%20%22calculated%22%20values.%C2%A0%20In%20Delphi%20Native%20Pascal%2C%20a%20class%20with%203%20properties%20may%20look%20like%20this%3A%0D%0A%0D%0A%0D%0A%0D%0A%5Bsourcecode%20language%3D%22delphi%22%5D%0D%0A%0D%0ATEmployee%20%3D%20class%28TPerson%29%0D%0Aprivate%0D%0AFHoursPerWeek%3A%20Double%3B%0D%0AFWeeklyRate%3A%20Dou&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-technorati">
			<a href="http://www.shareaholic.com/api/share/?title=Implicit+Fields+and+Inline+Expressions+in+Delphi+Prism+Simplify+Property+Design&amp;link=http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/&amp;notes=In%20OOP%2C%20we%20are%20using%20Properties%20to%20be%20able%20to%20limit%20access%20to%20class%20members%2C%20or%20to%20have%20%22calculated%22%20values.%C2%A0%20In%20Delphi%20Native%20Pascal%2C%20a%20class%20with%203%20properties%20may%20look%20like%20this%3A%0D%0A%0D%0A%0D%0A%0D%0A%5Bsourcecode%20language%3D%22delphi%22%5D%0D%0A%0D%0ATEmployee%20%3D%20class%28TPerson%29%0D%0Aprivate%0D%0AFHoursPerWeek%3A%20Double%3B%0D%0AFWeeklyRate%3A%20Dou&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=10&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.monien.net/blog/index.php/2008/12/implicit-fields-and-inline-expressions-in-delphi-prism-simplify-property-design/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

