OOP Flashcards
Computers became more powerful, and so programs became larger and more complex.
“Software Crisis” (1960’s – 1980’s)
creating high-quality software systems in an efficient and predictable manner
Software Engineering
was one of the prime concepts used to simplify programming problems
Abstraction
- routines were grouped into “functions”
- you could hide data to be accessible to only within a function (“encapsulation”)
Procedural Programming
- further refinement of procedural programming
- formal methods of planning data-flow and functional decomposition
- “goto” banned
Structured Programming
Takes encapsulation even further by localizing data and associated operations into a mini-program called an “object”.
Object-Oriented Programming
Goals of OOP
- Comprehensibility
- Maintainability
- Reusability
- Pluggability
it has attributes and methods
Object
The outward appearance of an object. How other objects see the object.
Interface
the definition of an object
Class
the created object of a class
Instance
Three Core Principles of OOP
- Encapsulation
- Inheritance
- Polymorphism
The grouping of data and operations into objects.
Encapsulation
Hiding of data and operations from other objects.
Encapsulation
A way to create a new class by “deriving” from another class.
Inheritance