Object Oriented Concepts I
-
Introduction to Object Oriented Concepts
-
Procedural vs Object Oriented (OO) Programming
-
What is an Object – Object Data and Behavior
-
What is a Class – Attributes, Methods and Messages
-
Using UML to model a Class Diagram
-
Encapsulation and Data Hiding
-
Interfaces and Implementations
-
Inheritance: Superclasses and Subclasses
-
Abstraction and Is-a Relationships
- Polymorphism
-
Composition: Abstraction and Has- a Relationships
-
How to think in terms of Objects
-
Interface vs Implementation
-
Abstract thinking when designing Interfaces and Giving the user
minimal Interface possible
-
Constructors: Default constructor
-
When is a constructor called
-
Using multiple constructors
-
The design of constructors
-
Error handling and The concept of scope
-
The Anatomy of a Class – The Name, Comments
-
Attributes, Constructors, Accessors of Class
-
Public Interface methods
-
Private implementation methods
-
Class Design Guidelines
-
Modeling Real World Systems
-
Identifying Public Interfaces
-
Designing Robust Constructors
-
Designing Error Handling to a Class
-
Documenting a Class and Using Comments
-
Designing with Reuse
- Extensibility
-
Maintainability in Mind
-
Using Object Persistence
-
Designing with Objects – Proper Analysis
- Statement of Work
-
Requirements Collection
-
Prototype of User Interface
-
Identifying the Classes
-
Determining the responsibilities of Each Class
- Class Collaboration
-
Class Model to Describe the System
-
Mastering Inheritance – Reusing Objects
-
Generalization and Specialization
-
How Inheritance weakens Encapsulation;
-
Frameworks and Reuse
- Frameworks
-
Contract: Abstract Classes and Interfaces
-
Programming lessons - Introduction to Java
-
Java Virtual Machine (JVM)
- Java Runtime (JRE)
-
Java Development Kit (JDK)
-
Integrated Development Environment (IDE) for Java
- Java installation
-
Hello World! Program
-
Compiling and running Java program
-
Using Java classpath and JVM Architecture
-
Java syntax – Package, Import
-
Class, Fields, Methods
-
Constructors, Primitive data types
- Strings and literal
- Wrapper class
-
Nonexistence type: null
-
Java features to support practical OOP
-
String Operations: String creations and operations
-
Immutability property of String
-
String comparison and searching
-
String buffers and builders
-
Java I/O: Streams, Input and Output Stream
-
File, Path, Directory and tree
-
Exception handling: try and catch
-
Checked exception vs unchecked exceptions
- Throw and throws
-
Common exception and User defined exception
-
Logger and Debugging
- Log levels
-
Formatters and Filters
-
Logger Handlers and Manager
- Configuration
-
Introduction to Debugging and Debugging Workflow