<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-8533960996618747910.post6228597036697882316..comments</id><updated>2009-12-30T01:33:54.057-08:00</updated><category term='Sitefinity CMS'/><category term='Resharper'/><category term='.Net Framework Essentials'/><category term='Mind Teasures'/><category term='CLR'/><category term='Team Foundation Server'/><category term='StoredProcedures'/><category term='IIS 7'/><category term='Architecture'/><category term='BlogEngine.net'/><category term='Blog Publishing'/><category term='Source Control'/><category term='Useful Books'/><category term='Workarounds'/><category term='WS2003'/><category term='Ext.js'/><category term='SqlServer'/><category term='Asp.net'/><category term='DevSoft Tweaks'/><category term='Jquery'/><category term='SqlYog'/><category term='JSON'/><category term='Silverlight 3'/><category term='Java Script'/><category term='Microsoft Charting'/><category term='Outlook2007'/><category term='CSS'/><category term='IE6'/><category term='Silverlight RadControls'/><category term='Silverlight 4'/><category term='Others'/><category term='Tips Tricks'/><category term='RIA Services'/><category term='SqlServer Reporting'/><category term='IIS'/><category term='Refactoring'/><category term='WSS 3.0'/><category term='Announcements'/><category term='C#'/><category term='Silverlight2.0'/><category term='Telerik'/><category term='Database'/><category term='Linq'/><category term='SqlServer2008'/><category term='Sharepoint'/><category term='Visual Studio 2008 Team System'/><category term='Blogger Tricks'/><category term='CMS'/><category term='VS2010'/><category term='MOSS2007'/><category term='MySql'/><category term='Patterns'/><category term='Microsoft Reporting'/><category term='Useful Utilites'/><title type='text'>Comments on SmallWorkarounds: Differences between an abstract class and an inter...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.smallworkarounds.net/feeds/6228597036697882316/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8533960996618747910/6228597036697882316/comments/default'/><link rel='alternate' type='text/html' href='http://www.smallworkarounds.net/2009/06/differences-between-abstract-class-and.html'/><author><name>Aashish</name><uri>http://www.blogger.com/profile/03345871747326365787</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_UE1MjS8wccA/S1LJ5wplxlI/AAAAAAAABAs/frGDhe_gPH4/S220/aashish.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8533960996618747910.post-2431951389783074794</id><published>2009-12-30T01:06:11.143-08:00</published><updated>2009-12-30T01:06:11.143-08:00</updated><title type='text'>hi,

First of all. Thanks very much for your usefu...</title><content type='html'>hi,&lt;br /&gt;&lt;br /&gt;First of all. Thanks very much for your useful post.&lt;br /&gt;&lt;br /&gt;I just came across your blog and wanted to drop you a note telling you how impressed I &lt;br /&gt;&lt;br /&gt;was with the information you have posted here.&lt;br /&gt;&lt;br /&gt;Please let me introduce you some info related to this post and I hope that it is useful &lt;br /&gt;&lt;br /&gt;for .Net community.&lt;br /&gt;&lt;br /&gt;There is a good C# resource site, Have alook&lt;br /&gt; &lt;br /&gt;http://www.csharptalk.com/2009/09/c-class.html&lt;br /&gt;http://www.csharptalk.com&lt;br /&gt;&lt;br /&gt;simi</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8533960996618747910/6228597036697882316/comments/default/2431951389783074794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8533960996618747910/6228597036697882316/comments/default/2431951389783074794'/><link rel='alternate' type='text/html' href='http://www.smallworkarounds.net/2009/06/differences-between-abstract-class-and.html?showComment=1262163971143#c2431951389783074794' title=''/><author><name>simi</name><uri>http://csharptalk.com</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.smallworkarounds.net/2009/06/differences-between-abstract-class-and.html' ref='tag:blogger.com,1999:blog-8533960996618747910.post-6228597036697882316' source='http://www.blogger.com/feeds/8533960996618747910/posts/default/6228597036697882316' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1230731384'/></entry><entry><id>tag:blogger.com,1999:blog-8533960996618747910.post-6911161105966353157</id><published>2009-06-19T22:17:56.515-07:00</published><updated>2009-06-19T22:17:56.515-07:00</updated><title type='text'>@Wolfgang Loder
Yes you are right i left out to in...</title><content type='html'>@Wolfgang Loder&lt;br /&gt;Yes you are right i left out to include C# in the posts title which i have done now.&lt;br /&gt;&lt;br /&gt;Thanks for sharing your views</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8533960996618747910/6228597036697882316/comments/default/6911161105966353157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8533960996618747910/6228597036697882316/comments/default/6911161105966353157'/><link rel='alternate' type='text/html' href='http://www.smallworkarounds.net/2009/06/differences-between-abstract-class-and.html?showComment=1245475076515#c6911161105966353157' title=''/><author><name>Aashish</name><uri>http://www.blogger.com/profile/03345871747326365787</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UE1MjS8wccA/SVtPYInlHiI/AAAAAAAAAp8/3BGXUk6oHXo/S220/upload.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.smallworkarounds.net/2009/06/differences-between-abstract-class-and.html' ref='tag:blogger.com,1999:blog-8533960996618747910.post-6228597036697882316' source='http://www.blogger.com/feeds/8533960996618747910/posts/default/6228597036697882316' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-317382903'/></entry><entry><id>tag:blogger.com,1999:blog-8533960996618747910.post-1583539812748369092</id><published>2009-06-19T08:11:28.391-07:00</published><updated>2009-06-19T08:11:28.391-07:00</updated><title type='text'>Guess the &amp;#39;new developer&amp;#39; will still be co...</title><content type='html'>Guess the &amp;#39;new developer&amp;#39; will still be confused after reading your post.&lt;br /&gt;(1) Your title should read &amp;#39;Differences between an abstract class and an interface in C#&amp;#39;. Other languages, like C++, have different constructs and use pure abstract classes as &amp;#39;interface&amp;#39;&lt;br /&gt;(2) The main difference between an interface and a class is that the interface describes a beahviour and the class an entity with state.&lt;br /&gt;(3) An abstract class is still an entity with state, but does not implement all methods.&lt;br /&gt;(4) That C# (or Java, for that matter) uses interfaces as workaround to achieve multiple inheritance, has nothing to do with the pattern. It can be seen either as defect in the language or deliberately left out, because multiple inheritance is a design defect.&lt;br /&gt;&lt;br /&gt;This leaves us with the question, when to use abstract classes? Whenever you have a behaviour that demands certain state information (fields/properties) to be present. For example, an abstract class might have data fields implemented for versioning purposes.&lt;br /&gt;&lt;br /&gt;It&amp;#39;s an old discussion and the opinions have a wide range. What is important though, to have one and only one guideline in a team to which everybody adheres no matter if they agree or not.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8533960996618747910/6228597036697882316/comments/default/1583539812748369092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8533960996618747910/6228597036697882316/comments/default/1583539812748369092'/><link rel='alternate' type='text/html' href='http://www.smallworkarounds.net/2009/06/differences-between-abstract-class-and.html?showComment=1245424288391#c1583539812748369092' title=''/><author><name>Wolfgang Loder</name><uri>http://www.blogger.com/profile/02155313019878303420</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.smallworkarounds.net/2009/06/differences-between-abstract-class-and.html' ref='tag:blogger.com,1999:blog-8533960996618747910.post-6228597036697882316' source='http://www.blogger.com/feeds/8533960996618747910/posts/default/6228597036697882316' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-559877366'/></entry><entry><id>tag:blogger.com,1999:blog-8533960996618747910.post-4554309109485120443</id><published>2009-06-19T07:39:51.936-07:00</published><updated>2009-06-19T07:39:51.936-07:00</updated><title type='text'>Most of the differences you cite are syntactic rat...</title><content type='html'>Most of the differences you cite are syntactic rather than substantive. &lt;br /&gt;&lt;br /&gt;That there is no direct multiple inheritance is the big difference: a class can choose to implement any number of interfaces and any class which does implement a given interface can be provided when an object of that interface type is required.&lt;br /&gt;&lt;br /&gt;One big win in an abstract class is being able to factor out common behavior or even common implementation of some part of the class even when there is no reasonable default for the extension point methods.&lt;br /&gt;&lt;br /&gt;I would love to see a discussion of when you choose to use one or the other. In particular, if either could be used (we are not required to extend some _other_ class), how to you decide?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8533960996618747910/6228597036697882316/comments/default/4554309109485120443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8533960996618747910/6228597036697882316/comments/default/4554309109485120443'/><link rel='alternate' type='text/html' href='http://www.smallworkarounds.net/2009/06/differences-between-abstract-class-and.html?showComment=1245422391936#c4554309109485120443' title=''/><author><name>drbcladd</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.smallworkarounds.net/2009/06/differences-between-abstract-class-and.html' ref='tag:blogger.com,1999:blog-8533960996618747910.post-6228597036697882316' source='http://www.blogger.com/feeds/8533960996618747910/posts/default/6228597036697882316' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-896302446'/></entry></feed>
