Badges: 9
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
Report Thread starter 3 years ago
How do you prepare for object oriented programming? Does anyone know useful resources??
Badges: 19
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
Report 3 years ago
Start out by learning a language which as language features that support the Object Oriented paradigm - hopefully whatever language you're using for your course will have these; for example, Java is a good language for this - it has features such as Classes, Access modifiers, Inheritance, Overriding and Polymorphism. which can all help you write OO code. Also make sure you understand how constructors work.

It's important to know how to use these features in a language first, otherwise the OO design concepts won't mean very much to you.

There's an intro to Java here which covers a lot of the core language features:
  1. (Language basics)
  2. (Classes / OO features)

If you end up using a different language like C#, VB.NET, Python, Swift or C++, then the concepts will be the same even if the syntax may be different. (C# looks almost identical to Java for this kind of thing).

Make sure you understand Abstraction and Encapsulation in relation to Class design:

Also understand the advice to 'program to an interface':

Then look at the different approaches to making relationships between different classes: Association, Aggregation and Composition

Make sure you understand the advice to "prefer composition over inheritance":

Afterwards, look at the five S.O.L.I.D. principles,

And look at common 'OO Design Patterns':

Once you understand the concepts, look at UML, which is a standard notation for expressing those ideas in a diagram :

Try this (it's free - sign up, click "Enrol" and then choose the 'Audit' option to unlock all the videos and course material)
The course is generally good and covers a lot of important concepts, although the explanations are a bit hit-and-miss in places

There's some other OO design tutorials here:

Quick Reply

Attached files
Write a reply...
new posts
to top
My Feed

See more of what you like on
The Student Room

You can personalise what you see on TSR. Tell us a little about yourself to get started.


What is your favourite revision method?

Taking notes manually (39)
Note taking apps (5)
Flashcards (31)
Revision guides (5)
Past papers (85)
Something else (let us know in the thread) (6)

Watched Threads

View All