The next seven or so journal entries I am going to post are the notes from my object-oriented programming presentation. At my employer, every other Friday we have "tech-talks." Tech-talks are an hour in duration, and presenters prepare material related to software development, and present it to our engineering team. I have led a few of these in the past covering topics such as asynchronous handlers in server-side web code, and using
NeoSwiff to create Flash applications using C#.
When I prepare papers or presentations, I write as much as I can, placing many of my thoughts on paper, or a text editor. The more I brainstorm, the more I write. This makes it easier for me to logically group information. I use the same approach to writing papers as I do for presentations. Rather than discard my notes never to be seen again, I am deciding to share them, in hopes that someone might find them useful.
The following articles aim to provide a high level understanding of some of the major concepts of object-oriented programming. They will not cover every concept, and those concepts that are covered are by no means complete. The topics that are covered in the following articles to come are brief, and readers should investigate further, more thorough resources to gain a more complete understanding.
The following entries will introduce several object-oriented programming concepts and provide detail supporting each. The concepts covered are objects, classes, single responsibility principle, inheritance, encapsulation, polymorphism, composition, and abstraction.
In the coming days I will be posting my notes, so check back over the next two weeks.