Description
This course teaches object programming in Java, gradually addressing all the constructs of the language and also presenting UML notation and the main standard libraries such as input/output, collections and graphical interfaces. Students will learn to develop robust and efficient Java programs by becoming familiar with the basic concepts of object-oriented programming and their implementation in Java.
Who is this training for ?
For whom ?
Unconfirmed developers, engineers, project managers close to development.
Prerequisites
- Basic knowledge of programming. Desirable experience in application development.
Training objectives
Training program
- Object techniques
- The general principles of Object modeling and programming.
- Abstraction and encapsulation: interfaces.
- The different forms of inheritance, polymorphism.
- Introduction to UML modeling: the static model, the dynamic model, the cooperation model, scenarios.
- Practical work The UML specification of a case study which will be one of the guiding threads of the following exercises.
- Basic language constructs
- Variables: declaration and typing.
- The definition of fields.
- Methods: definition.
- Expressions.
- Control instructions: conditional, loop, branch instructions.
- Arrays.
- Enumerated types, autoboxing.
- Compilation units and packages: controlling the visibility of classes, the import mechanism.
- Static imports.
- Practical work Suite of simple exercises allowing you to get to grips with the development environment and create a simple program.
- Using packages.
- The definition and instantiation of classes
- Classes and objects.
- Fields, methods.
- Constructors.
- Self-reference.
- Static fields and methods.
- Methods with variable number of arguments.
- Methodological aspects: class design.
- Practical work Case study programming.
- The legacy
- The different forms of inheritance: extension and implementation.
- Interfaces and the implementation of interfaces.
- Pomorphism and its implementation work.
- The extension.
- The definition of derived classes, constructors, references.
- Methodological aspects.
- The construction of class hierarchies.
- Code factorization: abstract classes.
- The simultaneous use of the implementation and the extension.
- Abstract classes.
- Methodological aspects: the grouping of constants, the specification of services.
- The construction of hierarchies of classes and interfaces.
- Genericity.
- Practical work Design and construction of a hierarchy of classes and interfaces.
- Implementation of polymorphism and genericity in the study of cases.
- The exceptions
- The Try blocks, the generation of exceptions.
- The catch() selection algorithm.
- Methodological aspects: the construction of a hierarchy exception, the use of exceptions.
- Practical work Introduction of exceptions in the case study.
- Programming inputs/outputs
- The hierarchy of input/output classes.
- Some classes for handling file systems.
- Some input/output classes working on the byte flows, on the Char flows.
- Keyboard inputs/outputs.
- Practical work Reading/writing in files.
- Graphical programming
- Basic concepts: the principles of visualization and event management from jdk1.
- 1.
- Visualization of graphical components: containers and Layouts.
- Some graphic components: labels, buttons, text boxes.
- Event management: Listeners and Adapters.
- The association of managers with graphic components.
- Practical work Construction of a GUI.
- Some utility classes
- System classes.
- Container classes.
- Practical work Implementation of utility classes.