Course Outline

The need for object-oriented programming

  • An attempt to reflect real-world programming
  • Evolution of object-oriented programming
  • Object-oriented programming in terms of the rules of KISS and DRY

Classes and Objects

  • Ideas and entities in the philosophy of Plato
  • The role of classes
  • Implementation classes using objects
  • Classes, properties, and static methods

Naming conventions and coding

  • naming classes
  • Naming properties and methods
  • Package Naming and folders
  • Other conventions

class structure

  • Properties / field as a description of the object
  • Accessor
  • Methods for the implementation of functionality

Modeling and graphical representation of classes

  • requirements Analysis
  • Modeling the structure of classes and relationships
  • Describing the business objects
  • EER diagrams
  • UML class diagram

Object-oriented programming paradigms

  • The concept of paradigm
  • Encapsulation
  • Abstraction
  • Heirdom
  • Polymorphism

Design and implementation abstraction layer

  • Abstract classes
  • Interfaces
  • Features -Traits
  • Cyclase nested
  • Class generic

Creating objects

  • Ways to create objects
  • The role of the constructor
  • Pattern Factory

Relationships between classes

  • Aggregation
  • Composition
  • Chapter dependence - Decoupling
  • Dependency injection containers DIC
  • Mediator pattern

The organization code

  • Design code reusability
  • Folder structure
  • Namespaces, packages, modules

Object-oriented programming and performance

  • Reservations memory for objects
  • Garbage Collector
  • Explicit deleting objects, destructors
  • Working with references

The mechanism of reflection

  • The area to apply reflection
  • Acquiring information about classes and objects,
  • The importance of reflection in the creation of documentation and software testing

Error handling

  • Possible models of error handling
  • Object Model error handling
  • The role of exceptions and class Exception, throwing and capturing unique
  • A try-catch-final, nesting block

Object-oriented programming

  • Excessive liability classes, pattern Delegation
  • Strong dependence
  • Singleton and potential problems
  • Anemic Domain Model


The participants should have a basic knowledge of programming.

  21 Hours


Related Courses

Java Advanced

  28 hours

Java Advanced - one day

  7 hours

Java Fundamentals for Android

  14 hours

Java fundamentals with Maven

  28 hours

Java Intermediate - one day

  7 hours

Java Persistence with Hibernate

  14 hours

Introduction to Programming

  35 hours

Clean Code

  14 hours

Linux Network Programming

  14 hours

Standard Java Security

  14 hours

Groovy Programming

  21 hours

Unit Testing with JUnit

  21 hours

Learn Object-Oriented Programming with Python

  14 hours

Object Oriented Programming with C++

  7 hours

Visual Basic 2015 Integrated to 4.7.2 NET Framework

  28 hours