Difference between aspect oriented programming language and object oriented programming language and procdural programing language
Answers
Object-Oriented Programming (OOP)
Object-Oriented Programming (OOP) is a model for software development that is focused on objects and classes.
A class is a blueprint for something, e.g., engine, publication, employee, etc... An object is an instance of that class. Engine is generic; a Hemi is an instance of the Engine class. A class can also inherit methods and variables from another class. This is called inheritance. It is therefore possible to build a program with a fairly complex hierarchy of classes.
Even though you may have a large family tree of classes in your program, the beauty of OOP is that each one serves its own purpose. You can protect data and variables within the classes - you don't give the radio access to the engine. But you can give the engine access to the drive shaft. The technical term for this type of data hiding/data protection is encapsulation.
There is a drawback to all of this, however. What if you have a behavior that crosses several classes? For example, log files or a monitoring routine. This routine would need to run on many classes. Let's say we needed to monitor almost 90% of the car: Engine systems, cooling, exhaust, drive train, etc. We'd have to add the monitor to almost every class or method! This type of behavior crosscuts a wide array of classes, much like a diagonal street. OOP comes up short in this aspect.