Brudor2000
Badges: 9
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#1
Report Thread starter 3 years ago
#1
How do you prepare for object oriented programming? Does anyone know useful resources??
0
reply
winterscoming
Badges: 19
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#2
Report 3 years ago
#2
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. https://eu.udacity.com/course/java-p...-basics--ud282 (Language basics)
  2. https://eu.udacity.com/course/object...in-java--ud283 (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:
https://stackoverflow.com/questions/...-encapsulation
https://stackoverflow.com/questions/...961062#8961062

Also understand the advice to 'program to an interface':
https://stackoverflow.com/questions/...o-an-interface

Then look at the different approaches to making relationships between different classes: Association, Aggregation and Composition
https://stackoverflow.com/questions/...nd-composition

Make sure you understand the advice to "prefer composition over inheritance":
https://softwareengineering.stackexc...er-inheritance

Afterwards, look at the five S.O.L.I.D. principles,
https://softwareengineering.stackexc...lid-principles

And look at common 'OO Design Patterns':
http://www.blackwasp.co.uk/gofpatterns.aspx

Once you understand the concepts, look at UML, which is a standard notation for expressing those ideas in a diagram :
https://github.com/imalitavakoli/learn-uml2

Try this (it's free - sign up, click "Enrol" and then choose the 'Audit' option to unlock all the videos and course material)
https://www.coursera.org/learn/object-oriented-design
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: https://www.youtube.com/watch?v=fJW6...4xDp7T9lCk9PgE
1
reply
X

Quick Reply

Attached files
Write a reply...
Reply
new posts
Back
to top
Latest
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.

Personalise

What is your favourite revision method?

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

Watched Threads

View All