Object-orientation provides a real-world programming solution to people working in the world of web applications, mobile apps, and game development. It isn't a language per se, but rather a set of ideas that multiple languages support. This video shows that, because object-orientation is split into self-contained objects with their own logic and data, it is relatively simple to manage, plan, and execute. That's why we use object-orientation.
- View Offline
The most popular programming languages developed in the last 30 years are all…Object-Oriented languages, but this wasn't always the way.…My first programming job was writing assembly language Cobol and Fortran on mainframes.…Now these were not object-oriented languages.…They were straight procedural languages where the program is written as a long procedure.…Now it might contain named functions and subroutines to make it more modular and…maintainable, but it's really a long piece of code, often with all the data, all…the variables defined in one place and all the logic in another.…
But as programs got bigger and bigger, this proved to be difficult to…manage, difficult to plan.…And Object-Oriented languages started to gain popularity in the '80s.…Now in an Object-Oriented language, this one large program will instead be split…apart into self contained objects, almost like having several mini-programs,…each object representing a different part of the application.…Now each object contains its own data and its own logic, and they…
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