Penguin
Diff: ObjectOrientation
EditPageHistoryDiffInfoLikePages

Differences between current version and previous revision of ObjectOrientation.

Other diffs: Previous Major Revision, Previous Author, or view the Annotated Edit History

Newer page: version 3 Last edited on Friday, March 12, 2004 9:21:38 pm by StuartYeates
Older page: version 2 Last edited on Wednesday, November 19, 2003 6:50:45 pm by AristotlePagaltzis Revert
@@ -79,9 +79,9 @@
 Now, the nice thing here is that you can write code to only deal with Animals. Then someone out there can go and code a Human Animal, for instance, and all your code will work nicely with this new case without any modification. Isn't that cool? 
  
 Ok, sure, it is a contrived example. Which is actually a bit of a problem. You see, given a very good design, object oriented programming is, well, very good. Unfortunately, this design is very hard to come by. Some think it is impossible for many situations. So therein lies the real problem. It is easy to think up silly situations where object oriented programming works flawlessly. In practice, it can be very hard to apply. There are some good situations. Windowing systems come to mind: a well designed GUI can make excellent use of object oriented programming. 
  
-Technical difficulties also get in the way at times. C++ especially suffers here. All sorts of complexity has gone into allowing C++ to be useful as an object oriented language. The COM programming model by Microsoft is an example of an excellent attempt at making C++ useful as a component-based and object-oriented language. 
+Technical difficulties also get in the way at times. [ C++] especially suffers here. All sorts of complexity has gone into allowing C++ to be useful as an object oriented language. The COM programming model by Microsoft is an example of an excellent attempt at making C++ useful as a component-based and object-oriented language. 
  
 There is a lot of theory involved in ObjectOrientation. A lot of processes have been invented in attempts to make designing systems easier: people who have studied it may remember CRC cards and class diagrams. Object oriented design purists will talk about class responsibilities and communications between classes and such. 
  
 Done well, object oriented programming is great. Given a good design, doing it well is not all that hard. Getting a good design is often near impossible. 
@@ -96,4 +96,7 @@
  
 The last two points are just trying to get across the fact that some of the ideas of ObjectOrientation can be used in general programming without "going the full hog" and using all the design patterns and implementing things in a purely object oriented way. 
  
 (Feedback to SamJansen if you like) 
+  
+----  
+Object oriented languages don't have [Function]s, they have [Method]s, which are functions associated with an object or class (static objects in [Java], for example are associated with the class but not an object). All of the optimisations applicable to [Function]s (InLining, etc.) are also applicable to [Method]s.