A Common Misconception About Object-Oriented Programming
By Online Security Authority on Sep 27, 2009 in Website Security
I’ve seen it time and again. A computer programmer proudly proclaims, Yeah, my code is object-oriented. See? My data members are all private, and they can only be reached through public member functions. That’s what being object-oriented is all about. I’ve even heard this kind of drivel come from the mouths of Computer Science graduates people who have presumably studied object-orientation in the classroom, or who would have had ample opportunity to educate themselves.
Scholars may quibble about the fine points of object orientation; however, one thing is for certain: merely having private data and public functions does not constitute a proper object-oriented design. Rather, proper object orientation entails much more.
One of the most basic elements is information hiding. This means that objects should only present the information that needs to be seen; that is, it should present a coherent and well-selected interface of functions one that does not betray the data contents and internal workings of the class. In other words, the manner in which the functions are implemented remains hidden from the user, allowing the developer to alter the implementation as needed. (Some also refer to this as “encapsulation,� whereas others state that encapsulation is merely a means for hiding information. I lean toward the latter view; however, for the purposes of this article, this distinction is unimportant. Suffice to say that information hiding is a key element of object-oriented design.)
When a programmer declares that his code is object-oriented by virtue of having private data and public functions, he is placing the cart before the proverbial horse. Using private data and public functions is merely a means of achieving information hiding; it is not a goal in itself. For example, consider a design in which every single data member has corresponding get and set accessors (e.g. a data member x would have matching getx() and setx() functions). In this example, information is poorly hidden, since the choice of functions (indeed, their very names!) betrays the manner in which the data has been implemented.
Inheritance is another key element; that is, specific classes are to be derived from more general ones. Inheritance is a means of implementing abstraction; that is, it allows the user to identify objects with common characteristics, and which should therefore use common code (or at the very least, common interfaces). This is part and parcel of thinking in terms of objects, as opposed to thinking primarily in terms of functions and procedures.
Yet another key characteristic is polymorphism, which allows a descendant object to override its parent’s member functions. With polymorphism, a descendent object does not have to respond to a message exactly as its ancestor does; rather, it can have its own implementation. Note that the descendant objects do not have to override these functions; rather, they should simply be allowed to do so, as needed.There is much more that can be said about the nature of object orientation; indeed, scholars often contend over its precise definition and its principal ideas. Whatever the case though, the point remains: merely keeping private data and a set of public functions does not constitute an object-oriented design not in any meaningful sense of the term.
Xicom provides a broad range of web development services and application development services to help you harness the power of technology, consulting and maximize your online business investment. Visit us at www.xicom.biz to learn more about our company, services and capabilities. Article Source:http://www.articlesbase.com/programming-articles/a-common-misconception-about-objectoriented-programming-1269972.html
Written by: OSAblogger / Bill Wardell - Please Read Our Latest OSA eZine Edition
Other Places You Can Find Me…
Digg - LinkedIn - OSA Community - Facebook - StumbleUpon - MyBlogLog
If you're a concerned parent, you may want to subscribe to the: OSA~RSS while your here, please JOIN our: OSA Forum... also Follow Me On Twitter Thanks for visiting!
OSA Related Posts -
Here Are Some New Pieces of Info Having to Do WithTop 5 Ways To Generate Low Cost Website Traffic That You Could Find Helpful There is one hard and fast rule in generating income for your site on the net: A steady flow of site on the net traffic. If no one goes to your site on the net, it hardly bares a chance of generating an income. Numerous sites have tried and failed...... -
Writing UDFs for Firebird Embedded SQL Server Written by: Ivan Komarov, Deputy Team Leader of Network Security Team Table of content Who may be interested What is UDFs What do you require Sample project structure About the sample Creating UDFs-based binary data parser UDFs Declaration UDFs implementation Using UDFs Outside initialization Conclusion Who may be interested This...... -
Do You Know How To Choose A Good Web Hosting Provider? Find Out More! The ultimate goal of most web sites is getting profit. Thus any web site needs to work properly in order to attract customers. It is impossible to have a good-working web site without perfect web hosting services. Once the customer has an interest in your business you want to be...... -
New Layers of Defense: ID Theft and Authentication, Part 2 By Andrew K. Burge, E-Commerce Times, 02/25/07 4:00 AM PT "As more business information, content and customer data travels over these networks, the need for complying with data privacy regulations, protecting customer data and securely delivering subscription media will make data protection one of the hottest technology trends in 2007,"...... -
Functions of Web Design Web designers can either decide to have their site be stagnant or dynamic. Website Designing Company India states a dynamic site is one that can adjust either its content or visual imagery to provide the needs of the end user or adjust to a change in the computing environment.......
OSA Related Websites -
UK Gov Admits to Losing More Data: There's No Justice is there? The latest in the long-running sage that the British Government is trying to spell out called: Why We Will Win The "We Are the Best People to Put All Your Information in an ID Card and Lose It" Competition. http://www.itworld.com/security/54342/uk-justice-agency-loses-45000-personal-records goes the story. In a FOI release the Department of...... -
Trying another view of the data The chart, at this point, shows six clusters (months) of three data points in each (age groups). Would the data be easier to understand if we plotted the information in the opposite way? Try it. Select the chart and then choose Chart Tools?Design?Data?Switch Row/Column. Figure 18-6 shows the result of...... -
Cyber-Monday- Are Consumers Still Shopping after Black Friday? Much like Black Friday, news of Cyber Monday sales was “leaked” all across the Internet for a week before sales began, attempting to entice shoppers to save their holiday shopping for one of the biggest online shopping events of the holiday season. While brick and mortar stores pulled out...... -
Warning - You Have Been DataMined! Datamining is here to stay and it's reach is unyielding to all who exists in today's society. It affects hundreds of millions of us each day while we are blissfully unaware. Today's high-tech world is drowning in data but is starved for knowledge. Data mining is the search for significant...... -
On Page SEO Tips It requires a lot of effort in designing and building a site, but it can be all in vain if you can't attract enough traffic towards it. You put all your efforts in an attractive design of your website and the next step you do is to put it in......
























