This course is aimed at mainframe developers, already experienced with languages such as COBOL or PL1, who need to be cross-trained to understand Object Orientation and write Java programs.
Covers all versions of Java up to and including Java SE 7.
The student should be familiar with the Windows host environment. Knowledge of an existing 3GL language is assumed.
This course is designed to provide the mainframe developer with a broad overview of the Java object oriented approach. Developers will learn the key elements of object oriented applications including classes, interfaces, attributes, objects, access levels, inheritance and polymorphism.
The instructor will make comparisons with mainframe legacy development to facilitate the learning process.
This course also provides students with the skills to write simple Java programs. The syntax of the language is covered in detail and also Object Oriented coding techniques are discussed.
During the course the student will write many applications to ensure that the concepts and statements taught are fully understood and practical experience is gained.
The course is taught using a choice of IDE. The skills needed to use this software are presented as part of the course.
On completion of this course the student will be able to:
- Understand the concepts of object oriented programming
- Understand and differentiate between objects and classes
- Understand object instantiation
- Understand and differentiate between instance methods and variables and class methods and variables
- Understand the concept and benefits of messaging
- Understand the concept and benefits of encapsulation
- Understand the concept and benefits of inheritance
- Understand the concept and benefits of interfaces
- Understand the concept and benefits of polymorphism
- use the major concepts of a modern, block-structured, high-level language, such as control flow, function calls and modular programming
- structure programs using classes and other essential object-oriented features
- create, test and debug simple Java code using the chosen Integrated Development Environment (IDE)
Development will be performed using:
- Websphere Studio Application Developer
- Rational Application Developer
- the Java Development Kit (JDK) plus a text editor
For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.
- INTRODUCTION TO OBJECT ORIENTED CONCEPTS
- History of OO Languages
- What is Object Orientation ?
- Solution Space and Problem Space
- Object Oriented Concepts
- Summary Object Oriented Terms
- Introduction to Objects
- Object Definition
- Introduction to Classes
- Class Definition
- Objects and Classes
- The Benefits of Classes
- Java Class Definition
- OBJECT INSTANTIATION
- Instantiation and Types / Classes
- Object Instantiation
- Instance variables
- Instance Methods
- Class Variables
- Class Methods
- Sending Messages to an Object - Methods
- The Benefits of Messages
- Methods and Method Signature
- Encapsulation and Data Hiding
- Variable and Method Definition
- The Benefits of Encapsulation
- Generalisation and Specialisation
- Inheritance and Implementation Inheritance
- Single Inheritance
- Inheritance Definition
- The Benefits of Inheritance
- Multiple Implementations of Single Inheritance
- Single Implementations Supporting Multiple Interfaces
- Introduction to Polymorphism
- Polymorphism Definition
- OBJECT LIFETIME
- Object Lifetime
- Destructors - Garbage Collection
- OBJECT MODELLING
- Introduction to Object Modelling
- Unified Modelling Language
- Rational Unified Process
- INTRODUCTION TO JAVA
- What is Java?
- The Java Programming Language
- The Java Platform, the ClassPath
- What Can Java Do?
- Overview of the many subjects covered by Java
- Advantages of using Java
- Creating a java class
- Running Simple Applications
- A simple first example - The "Hello World" Application
- OBJECT-ORIENTED CONCEPTS
- An introduction to Objects
- What is an Object?, Encapsulation
- Communicating between objects
- What are Messages?, the benefits of Messages
- What are Classes?, Objects vs. Classes, instantiation, the benefits of Classes
- What is Inheritance?, the benefits of Inheritance
- THE JAVA LANGUAGE
- Usage Types, Data Types, Literal Values, Naming Standards, Scope, Initialisation, Constants, Escape Characters
- Arrays & Multi-Dimentional Arrays
- Strings are objects!, Concatenation, Testing for String equality, Manipulation
- Arithmetic, Unary, Relational, Conditional, Bitwise, Assignment, Expressions
- Primitive Casting & Data Type Conversion
- Control Flow Statements
- if-else, switch, For, While, Do-while, break and continue, Labeled Loops
- The return Statement
- Enums (Java 5)
- Passing Arguments to JAVA Programs
- OBJECTS, METHODS AND CLASSES
- Introduction to Classes and Objects
- Methods, Applications & Object Code
- Creating & Manipulating Objects, Calling Methods, Passing Arguments and Method Overloading, Returning Values from Methods
- Constructors, Static Code
- Varargs (Java 5)
- Inheritance - Extending a Class
- What does a Subclass Inherit?
- Packages, Using Package Members, Importing
- JAVA KEYWORD SUMMARY
- Accessibility Modifiers
- Declaration Parameters
- Class modifiers, Variable modifiers, Method modifiers
- CONVERSION, FORMATTING AND PRECISION
- Data Type Conversion, Wrapper Classes
- Autoboxing (Java 5)
- Decimal Precision and the BigDecimal class
- Numeric Formatting, Date Formatting
- Formatting (Java 5)
- Literal Values, Implicit & Explicit Casting, Casting With Operators
- Casting Objects, Narrowing & Widening
- THE ECLIPSE/RAD/WSAD DEVELOPMENT ENVIRONMENT (if applicable)
- The Workbench
- Perspectives, Views, Toolbars, Editors
- Importing and exporting, Searching
- Rearranging Views, Fast Views
- Working With Java
- Working with buildpaths and classpaths
- Fixing Problems, Creating new Classes and Interfaces
- The Java Editor
- Editing code and elements, Content/Code Assist, Code Formatter
- Managing Imports, Local History, Refactoring
- Other Views
- The Type Hierarchy, Using the Outline View
- Running and Debugging apps
Practical sessions make up a large part of the course, allowing delegates to demonstrate and reinforce the lectures given. During these sessions the delegate will build a simple but complete application.
Examples are used extensively, ranging from simple code 'snippets' to full applications with complete ‘real world’ functionality. These are supplied at the start of the course and it is encouraged that the delegates execute and ‘experiment’ with these under the instructor’s guidance as they are introduced.
These examples are available to take away, along with the delegate’s own work.
The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.