I'm searching for a good tutorial about object oriented analysis and design but can't find any short and clear tutorial which will has:
1. Explanation of oo concepts (very short)
2. CODE EXAMPLE (eg. if someone describe aggregation I wanna see how I can use this in my class)

There is a lot of tutorials but they are all without code example except this one: http://www.cs.gordon.edu/courses/cs211/ATMExample/index.html

This is great tutorial but on harder example. It would be perfect if there is a similar tutorial on easier example.

The last thing, please if possible give me the link for C++ or Java tutorials or short books.

Thanks for suggestions.

5 Years
Discussion Span
Last Post by t2r

Do you have any experience with C++ at all? Your post seems to imply that you don't...

Consider this a friendly warning: Don't jump directly into OO if you don't have any experience with C++, the OO parts of the syntax are much more complicated. Make sure you have a decent grasp of the core (procedural) syntax first. Part of why I say this is because OO code is another "layer" of code on top of the procedural. OO code creates classes (objects) that contain within them functions/methods which are procedural in nature.

With that in mind, here is a link to a decent general C++ tutorial.

Edited by Fbody: n/a


>>There is a lot of tutorials but they are all without code example

That's normal. There is a big difference between learning a programming language and learning software design. First, you need to get familiar with the syntax and idioms of a particular programming language. And learning to create classes (including inheritance, virtual functions, constructors/destructor, etc.) is part of learning the programming language (if it has syntax to do this, of course, and C++ does). Then, once reasonably comfortable with at least one programming language that makes OO code easy to write, you can learn about OO analysis and design, and apply it with your language of choice.

It's the same with computer science textbooks / papers that show you algorithms in pseudo-code instead of actual code in one language or another, because the actual programming language matters only when it comes to the details.

If you read OO tutorials or articles and cannot figure out how the things that are discussed translate into C++ code, then it means you need to get more knowledge of C++. Object-oriented programming is a way in which you organize and think your software, it's not about how you exactly write it (that depends on the language, in C++ or Java, OOP is done essentially the same, but the details are (very) different).


Thanks for replies.
Mike, you have answered me the question which bothered me - why is so many tutorials without code example.

And I want to ask you one more thing:
Do you know some really good (and easy) tutorial to learn OO analysis and design once i learned basic stuff of C++. E.g. link which have written Fbody for C++ is great - tutorial is not to big and really bright.


It's not really a tutorial, but I really like the book "Object Oriented Design Heuristics" by Arthur Riel.

It takes a language-neutral approach and instead of telling you "this is how you do it and this is the syntax you use" it provides a series of guidelines to keep in mind while planning your OO design. This will help you create the best design you can. As long as you know the syntax, the code will somewhat naturally fall into place.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.