Abstraction focuses on the essential properties of a thing instead of one specific example. If you think of a table, chances are that you give height and width to it, but don't consider exact dimensions. Likewise, in Object-Oriented Programming, when you make a class for bank accounts, you don't make a class specifically for Joe's or Alice's account. Instead, you make a class that covers the accounts of a broad set of people. Learn more about "What is abstraction?" in this video tutorial.
- View Offline
So, there are four fundamental ideas in Object-Oriented Programming, four things…to keep in mind when creating classes, and they have the wonderful terms Abstraction,…Polymorphism, Inheritance, and Encapsulation.…And one way to remember these is with the acronym APIE.…Now, these terms can sound intimidating, but you do most of them already in…daily thought and conversation even if you don't use these actual words.…Let me prove that with the first one, Abstraction.…
If I say table, you know what I mean.…I didn't say if I was thinking of a wooden table or a glass-topped table, if it…had four legs or one central pillar, if it was large or if it was small.…You might have an image in mind, that's okay.…But I don't have to get that specific because you understand the idea of a…table, the abstraction of a table.…You've seen and experienced enough real tables to abstract the idea of what a table means.…
Abstraction means we focus on the essential qualities of something rather than one specific example.…An abstraction means that we automatically will discard what's unimportant or irrelevant.…
Let Simon Allardice introduce you to the terms—words like abstraction, inheritance, polymorphism, subclass—and guide you through defining your requirements and identifying use cases for your program. The course also covers creating conceptual models of your program with design patterns, class and sequence diagrams, and unified modeling language (UML) tools, and then shows how to convert the diagrams into code.
- Why use object-oriented design (OOD)?
- Pinpointing use cases, actors, and scenarios
- Identifying class responsibilities and relationships
- Creating class diagrams
- Using abstract classes
- Working with inheritance
- Creating advanced UML diagrams
- Understanding object-oriented design principles