Basics of Object Oriented Programming

  • Object oriented programming: UML basics (visual modelling, notations, tools, model, view, diagram); Objects – state, behaviour, identity, lifecycle); Class, package, class diagram (association, aggregation, inheritance); Interface of objects, hiding the implementation; Reusing the implementation – composition, aggregation; Reusing the interface – inheritance, polymorphism
  • The Java language: Primitiv types; Classes – creating new types, attributes, methods, packages; Generics; Compilation and execution, VM, runtime environment; Comments, documentation, coding style; Program controls, operators, precedence, control structures, arrays; Initialization and cleanup, constructor, garbage collection; Reusability – composition, aggregation, inheritance, hiding implementation; Operation overloading and overriding, polymorphism, late binding; Final data, method, class; Abstract and interface classes, multiple inheritance, inner classes; Error handling with exceptions