Download free eBooks at bookboon.com
Click on the ad to read more 4
Contents
Foreword 11
1 An Introduction to Object Orientated Programming 12
1.1 A Brief History of Computing 12
1.2 Different Programming Paradigms 13
1.3 Why use the Object Orientation Paradigm? 15
1.4 Object Oriented Principles 16
1.5 What Exactly is Object Oriented Programming? 20
1.6 The Benefits of the Object Oriented Programming Approach 23
1.7 Summary 23
2 The Unified Modelling Language (UML) 24
2.1 An Introduction to UML 24
2.2 UML Class diagrams 25
2.3 UML Syntax 29
2.4 UML Package Diagrams 41
ENGINEERS, UNIVERSITY GRADUATES & SALES PROFESSIONALS
Junior and experienced F/M Total will hire 10,000 people in 2014.
Why not you?
Are you looking for work in process, electrical or other types of engineering, R&D, sales & marketing or support professions such as information technology?
We’re interested in your skills.
Join an international leader in the oil, gas and chemical industry by applying at
www.careers.total.com
More than 700 job openings are now online!
Potential
for development
Copyright : Total/Corbis
for development
Potential
for exploration
Download free eBooks at bookboon.com
Click on the ad to read more 5
2.5 UML Object Diagrams 47
2.6 UML Sequence Diagrams 48
2.7 Summary 50
3 Inheritance and Method Overriding 51
3.1 Object Families 52
3.2 Generalisation and Specialisation 52
3.3 Inheritance 54
3.4 Implementing Inheritance in Java 61
3.5 Constructors 61
3.6 Constructor Rules 62
3.7 Access Control 64
3.8 Abstract Classes 65
3.9 Overriding Methods 66
3.10 The ‘Object’ Class 68
3.11 Overriding toString() defined in ‘Object’ 70
3.12 Summary 71
www.sylvania.com
We do not reinvent the wheel we reinvent light.
Fascinating lighting offers an infinite spectrum of possibilities: Innovative technologies and new markets provide both opportunities and challenges.
An environment in which your expertise is in high demand. Enjoy the supportive working atmosphere within our global group and benefit from international career paths. Implement sustainable ideas in close cooperation with other specialists and contribute to influencing our future. Come and join us in reinventing light every day.
Light is OSRAM
Download free eBooks at bookboon.com
Click on the ad to read more 6
4 Object Roles and the Importance of Polymorphism 72
4.1 Class Types 72
4.2 Substitutability 75
4.3 Polymorphism 76
4.4 Extensibility 77
4.5 Interfaces 84
4.6 Extensibility Again 90
4.7 Distinguishing Subclasses 93
4.8 Summary 94
5 Overloading 95
5.1 Overloading 96
5.2 Overloading To Aid Flexibility 96
5.3 Summary 99
6 Object Oriented Software Analysis and Design 100
6.1 Requirements Analysis 101
6.2 The Problem 102
6.3 Listing Nouns and Verbs 104
6.4 Identifying Things Outside The Scope of The System 105
EADS unites a leading aircraft manufacturer, the world’s largest helicopter supplier, a global leader in space programmes and a worldwide leader in global security solutions and systems to form Europe’s largest defence and aerospace group. More than 140,000 people work at Airbus, Astrium, Cassidian and Eurocopter,
in 90 locations globally, to deliver some of the industry’s most exciting projects.
An EADS internship offers the chance to use your theoretical knowledge and apply it first-hand to real situations and assignments during your studies. Given a high level of responsibility, plenty of
learning and development opportunities, and all the support you need, you will tackle interesting challenges on state-of-the-art products.
We welcome more than 5,000 interns every year across disciplines ranging from engineering, IT, procurement and finance, to strategy, customer support, marketing and sales.
Positions are available in France, Germany, Spain and the UK.
To find out more and apply, visit www.jobs.eads.com. You can also find out more on our EADS Careers Facebook page.
Internship opportunities
CHALLENGING PERSPECTIVES
Download free eBooks at bookboon.com
Click on the ad to read more 7
6.5 Identifying Synonyms 106
6.6 Identifying Potential Classes 107
6.7 Identifying Potential Attributes 108
6.8 Identifying Potential Methods 108
6.9 Identifying Common Characteristics 109
6.10 Refining Our Design using CRC Cards 110
6.11 Elaborating Classes 112
6.12 Summary 113
7 The Collections Framework 114
7.1 An Introduction to Collections 115
7.2 Collection Interfaces 115
7.3 Old and New Collections 116
7.4 Lists 116
7.5 Sets 117
7.6 Maps 118
7.7 Collection Implementations 119
7.8 Overview of the Collections Framework 121
7.9 An Example Using Un-typed Collections 123
© Deloitte & Touche LLP and affiliated entities.
360° thinking .
Discover the truth at www.deloitte.ca/careers
© Deloitte & Touche LLP and affiliated entities.
360° thinking .
Discover the truth at www.deloitte.ca/careers
© Deloitte & Touche LLP and affiliated entities.
360° thinking .
Discover the truth at www.deloitte.ca/careers
© Deloitte & Touche LLP and affiliated entities.
360° thinking .
Discover the truth at www.deloitte.ca/careers
Download free eBooks at bookboon.com
Click on the ad to read more Click on the ad to read more 8
7.10 An Example Using Typed Collections 125
7.11 A Note About Sets 127
7.12 Summary 132
8 Java Development Tools 133
8.1 Software Implementation 134
8.2 The JRE 137
8.3 Java Programs 138
8.4 The JDK 139
8.5 Eclipse 140
8.6 Eclipse Architecture 140
8.7 Eclipse Features 142
8.8 NetBeans 142
8.9 Developing Graphical Interfaces Using NetBeans 144
8.10 Applying Layout Managers Using NetBeans 145
8.11 Adding Action Listeners 148
8.12 The Javadoc Tool 149
8.13 Summary 153
We will turn your CV into an opportunity of a lifetime
Do you like cars? Would you like to be a part of a successful brand?
We will appreciate and reward both your enthusiasm and talent.
Send us your CV. You will be surprised where it can take you.
Send us your CV on www.employerforlife.com
Maersk.com/Mitas
�e Graduate Programme for Engineers and Geoscientists
Month 16 I was a construction supervisor in the North Sea
advising and helping foremen solve problems I was a
he s
Real work International opportunities
�ree work placements al
Internationa or
�ree wo
I wanted real responsibili�
I joined MITAS because
Maersk.com/Mitas�e Graduate Programme for Engineers and Geoscientists
Month 16 I was a construction supervisor in the North Sea
advising and helping foremen solve problems I was a
he s
Real work International opportunities
�ree work placements al
Internationa or
�ree wo
I wanted real responsibili�
I joined MITAS because
Maersk.com/Mitas
�e Graduate Programme for Engineers and Geoscientists
Month 16 I was a construction supervisor in the North Sea
advising and helping foremen solve problems I was a
he s
Real work International opportunities
�ree work placements al
Internationa or
�ree wo
I wanted real responsibili�
I joined MITAS because
Maersk.com/Mitas
�e Graduate Programme for Engineers and Geoscientists
Month 16 I was a construction supervisor in the North Sea
advising and helping foremen solve problems I was a
he s
Real work International opportunities
�ree work placements al
Internationa or
�ree wo
I wanted real responsibili�
I joined MITAS because
www.discovermitas.com
Download free eBooks at bookboon.com
Click on the ad to read more 9
9 Creating And Using Exceptions 154
9.1 Understanding the Importance of Exceptions 154
9.2 Kinds of Exception 157
9.3 Extending the Exception Class 158
9.4 Throwing Exceptions 160
9.5 Catching Exceptions 161
9.6 Summary 161
10 Agile Programming 162
10.1 Agile Approaches 163
10.2 Refactoring 163
10.3 Examples of Refactoring 164
10.4 Support for Refactoring 164
10.5 Unit Testing 166
10.6 Automated Unit Testing 167
10.7 Regression Testing 167
10.8 JUnit 168
10.9 Examples of Assertions 168
10.10 Several Test Examples 168
10.11 Running Tests 172
Download free eBooks at bookboon.com
10
10.12 Test Driven Development (TDD) 173
10.13 TDD Cycles 174
10.14 Claims for TDD 174
10.15 Summary 174
11 Case Study 175
11.1 The Problem 176
11.2 Preliminary Analysis 177
11.3 Further Analysis 183
11.4 Documenting the design using UML 188
11.5 Prototyping the Interface 193
11.6 Revising the Design to Accommodate Changing Requirements 193
11.7 Packaging the Classes 197
11.8 Programming the Message Classes 199
11.9 Programming the Client Classes 205
11.10 Creating and Handling UnknownClientException 206
11.11 Programming the Main classes 208
11.12 Programming the Interface 209
11.13 Using Test Driven Development and Extending the System 210
11.14 Generating Javadoc 212
11.15 Running the System and Potential Compiler Warnings 213
11.16 The Finished System… 214
11.17 Summary 216