Object-oriented programming is littered with long terms that refer to very simple ideas. A lot of the time when you try to find out what they mean, you have to read through multiple pages of wordy explanation that either assumes objects are a foreign concept to you, or just talks so much about theory and ideas behind it that it won’t get on with what the words mean.
So before the irony becomes too excessive, here are some simple definitions of various terms I’ve come across.
- abstraction
- Providing methods that don’t require knowledge of the object’s internal details
- accessor method
- A method that returns the value of a property
- aggregation
- An object containing other objects
- cohesion
- How related something’s different functionalities are
- coupling
- How much detail two things know about each other in order to interact
- dynamic binding
- Determining which version of a method to run at runtime
- encapsulation
- Protecting data from external influences (basically using
private
properties) - interface
- How an object is accessed externally
- mutator method
- A method that changes the value of a property
- overloading
- Having multiple definitions of a function/method with different ways of calling each; not limited to OOP
- polymorphism
a.x()
doing something different tob.x()
. Alternatively, an objectx
having methods of classesa
,b
andc
- singleton
- A class that is designed to only ever have one instance
- static binding
- Determining which version of a method to run at compile time
No comments found.