LEARNING OUTCOMES
It is intended to introduce the paradigm of object-oriented programming and how to confer flexibility to the development of programmes thus facilitating its expansion and protection. For that, the following abilities are essential:
1. List the features of object-oriented programming
2. Apply the encapsulation to prevent undesired changes of variables
3. Define adequate methods in order to clearly associate the types of objects to their intrinsic behaviours
4. Take advantage of hierarchy of classes and inheritance so as to improve the reuse of code in one or between several projects.
5. Use polymorphism in order to make programme development more flexible
6. Be able to analyse which characteristics of the object orientated paradigm are implemented by a certain programming language and decide if they are sufficient for the needs of a given project.
STUDY PROGRAMME
I - Revision and motivation
1. Revision of the basic concepts of programming.
1.1 Data structures
1.2 Algorithms
1.3 Programming environments
2. Problems in programme development
2.1 Large dimension projects
2.2 Clarity and code reuse
2.3 Organization and data protection
II - Object Oriented Programming
3. Classes and instances (objects)
3.1 Data
3.2 Functions
3.3 Constructors and destructors
4. Data encapsulation
4.1 The logic of each type of object
4.2 Security of information
4.3 Facilitation of development of complex programmes
5. Inheritance
5.1 Classes and sub-classes
5.2 Simple inheritance (classic)
5.3 Multiple inheritance
6. Polymorphism
6.1 The concept of Common ancestor
6.2 Flexibility
6.3 Object management environment
7. Object manipulation
7.1 Listing
7.2 Streams
7.3 Input, Output and object transmission
BIBLIOGRAPHY
JAVA6- Programação Orientada Pelos Objectos F. Mário Martins FCA, 2009 ISBN: 978-972-722-624-5