OOP question

RabeaticSquirrel

Senior member
Apr 11, 2000
365
0
0
What exactly is OOP? From what I understand it's an "organized" way to write code that fosters more streamlined development by allowing the reuse of code, dependant parts, interchangeable code, etc... With it's more structured approach, it presents concepts and process in a more easy to understand manner, therefore making complex tasks more simple - in terms of writing code. Most OOP books use Java to teach you the concepts of OOP. But I've also heard that C can be used in OOP concepts. I'm confused. Is OOP like the way you peel the apple, where Java and C are different "breed" of apples? Can C/C+/C++ be used in an OOP approach? I am 2 days new to programming. My overall goal is to become fluent in Java and C++ to eventually write games. Can you guys help explain all of this?
 

yllus

Elite Member & Lifer
Aug 20, 2000
20,577
432
126
Object Oriented Programming is pretty simple in concept.

If you look at the world abstractly, everything belongs to one 'class' or another. Ford Mustang, Dodge Caravan, Ford F-150, BMW X5. If you wanted to pick a generic class to include all these four things, you'd pick "vehicles" - they're not even all classified as cars, technically. Each of these 4 'instances' of vehicles are certain similarities, like they all have tires, all need maintainance after X distance traveled, all have a certain body colour - those will all be variables belonging to the class "vehicles" itself. There are also certain things like checking the oil, filling up with fuel, etc. that you carry out for any vehicle - these are class methods. In this method of setting up your code you have a centralized place in which all of your code is defined rather than repeating those variables and methods for each vehicle separately. As you'll find out when you inevitably go hunting through long pieces of code for a single variable reference or two you'll bless the concept of centralization!

Java and C++ are OO languages by design. Pascal, C and other languages aren't natively OO but if you think about it, you can always structure the way your variables are set up to assume object-oriented form. I actually like to think of object-oriented as class-oriented, it brings across the idea of centralization of code in classes more directly.

For small pieces of code, OO tends to get in the way - why define a base class if you're only going to have one object or two? Well, that's for modularity and in the case you someday want to reuse that code in a larger fashion or someone wants to tack more objects into your code at a later date. A lot of professors froth at the mouth when talking about abstraction and OOP as a gift from God, that's just senility setting in. Remember not to pay TOO much attention to the buzz words your teacher uses (abstraction, modularity, metaclassing) and you'll be fine. Professors have a way of trying to make everything seem complicated.
 

splice

Golden Member
Jun 6, 2001
1,275
0
0
No, C is not an OOP language. However, C++ is, but it is not a strict implementation like Java. The whole concept of OOP is not new and has been around since SmallTalk. However the paradigm has just become popular with C++ and Java.

you can find more information about OOP using Java and UML here
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |