Learn how to use the object-oriented programming model to write code that's secure, scalable, and easier to troubleshoot.
Overview
Syllabus
Introduction
- Why learn about object-oriented programming in Java
- What is object orientation?
- Using classes as blueprints
- Building objects with a constructor
- Using concrete instances for application logic
- Understanding the difference between class and instance members
- Exploring a built-in Java class
- Challenge: Build an employee class
- Solution: Build an employee class
- What is encapsulation?
- Discovering access modifiers
- Implementing encapsulation with access modifiers
- Exploring encapsulation in Java string class
- Challenge: Banking application
- Solution: Banking application
- What is inheritance?
- Leveraging different types of inheritance
- Using inheritance to reduce code duplication
- Discovering inheritance in foundational Java classes
- Challenge: Reduce redundant code with inheritance
- Solution: Reduce redundant code with inheritance
- What is polymorphism?
- Writing reusable algorithms with runtime polymorphism
- Exploring different forms in a single object
- Accessing specific object forms with instanceof
- Writing flexible code with compile-time polymorphism
- Exploring how built-in Java classes use polymorphism
- Challenge: Reduce complexity with polymorphism
- Solution: Reduce complexity with polymorphism
- What is abstraction?
- Using abstract classes in Java to reduce code complexity
- Using interfaces in Java to provide conformity
- Discovering abstraction in Java source code
- Challenge: Leverage abstraction to write simpler applications
- Solution: Leverage abstraction to write simpler applications
- Identifying code smells and anti-patterns in OOP code
- Next steps
Taught by
Kathryn Hodge