You are watching: Advantages and disadvantages of object oriented programming
1- Improved software breakthrough productivity: OO programming is modular, as it provides separation of duties in object-based regimen development. That is additionally extensible, together objects have the right to be expanded to include brand-new attributes and behaviors. Objects can additionally be reused within an across applications. Because of these 3 factors; extensibility, modularity, and reusability.
2- Faster development: Reuse enables faster development. Object-oriented programming language come v rich libraries the objects, and code arisen during tasks is also reusable in future projects.
3- Lower price of development: The reuse the software likewise lowers the expense of development. Typically, an ext effort is put right into the OO evaluation and design, i m sorry lowers the as whole cost that development.
4- Higher-quality software: Faster breakthrough of software and lower price of advance allows much more time and resources come be provided in the confirmation of the software. Although high quality is dependent top top the endure of the teams, OO programming often tends to result in higher-quality software
1- Steep learning curve: The thought process involved in OO programming might not be herbal for some people, and it will take the time to acquire used come it.
2- The intricacy of creating programs: it is very complex to develop programs based on the communication of objects. Several of the vital programming techniques, such as inheritance and also polymorphism, have the right to be a big an overwhelming to recognize initially.
Did you shot to google this? This is a an extremely general concern that has actually been discussed in countless forums and also on plenty of blogs...
The main advantage is the more abstract level and also the principal feature is the implementation inheritance.But that is the disadvantage at the same time due to the fact that of required programmer skill's level too.
The key disadvantage is that procedural "spaghetti" password is much easier to restructure (refactor) but OO "spaghetti" is much harder come understand and also modify. The "Patterns Hell" is my very own term of together case because many year in software application engineering.
In a very general sense, the advantage of OO programing is code reuse. Since OOP creates password "objects", those objects (source code) deserve to be reused in many projects / applications.
You can discover many benefits when utilizing OOP for any scenario. And the probability of disadvantage it literally nil in most of the instance studies where I used it.
There are many benefits to OOPs than disadvantages, and some room arguably be both. If your main objective is to learn OOPs then carry out not worry around the adv. And disadv. At this stage. Girlfriend will number this the end on her own as soon as you obtain some understanding of what OOPs yes, really is.
Also, having an advantage or disadvantage that any technology is plainly based top top your problem statement. What seem to it is in an advantage for one problem statement might be a disadvantage because that another.
Practically, you must start with those wikipedia pages to acquire a broad overview and also some referrals :
You will watch some certain characteristic choose "encapsulation", "polymorphism", "inheritance" .... Yet then you need to learn and practice to really recognize the concepts.
If friend need assist to absent off, some MOOCs like coursera offer cost-free lectures ~ above the topic : https://www.coursera.org/courses?query=object%20oriented%20programming&languages=en
With OOP you have the right to structure your routine in a sound way. The world consist that objects with various properties and they are connecting via details exchange. The OOP paradigm give you the opportunity to model the civilization or a domain in your program choose the communicating objects in the actual world. Ns think that was the key intention behind the OOP paradigm.
Everything in programming bothers ~ above the usage of variables and also functions ( or procedures) to process the assorted entities the an details system. In Procedural programming, the variables and also functions space declared and also used differently; thus, it becomes very complicated to match a given function to a details entity. Yet in Object-Oriented programming, the variables and functions of miscellaneous entities dubbed objects are declared collectively through the usage of class so the a constructor deserve to be offered to create each that those objects. Once this has been done, the becomes an extremely easy come manipulate every object v the command, object.method(). Therefore, in object-oriented programming, every developed object exists in memory, and any of its approaches (or actions) can quickly be accesed with the command, object.method() therefore that we can quickly tell which object performed a particular function. This functionality is not obtainable in Procedural Programming.
See more: What Is The Electron Configuration For Na ? Electron Configuration For Sodium (Na)
The significant disadvantage of Object-Oriented programming is that, the demands fairly a the majority of memory spaces indigenous the computer system (just choose Recursion) to store information around the miscellaneous object-class instances supplied in a program.