0% found this document useful (0 votes)
74 views

Chapter

The document provides an introduction to object-oriented programming concepts like objects, classes, methods, and parameters. It describes the goals of the course and gives an overview of topics that will be covered, including inheritance, polymorphism, and graphical user interfaces.

Uploaded by

Khaled Salh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views

Chapter

The document provides an introduction to object-oriented programming concepts like objects, classes, methods, and parameters. It describes the goals of the course and gives an overview of topics that will be covered, including inheritance, polymorphism, and graphical user interfaces.

Uploaded by

Khaled Salh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Objects First with Java

Objects First with Java


A Practical Introduction using BlueJ

David J. Barnes
Michael Kölling

4.0

Take control of your own


learning
• Lecture
• Classes
• Exercises
• Book
• Web page
• Discussion forum
• Study groups
• Practice, practice, practice!
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 2

© David J. Barnes and Michael Kölling 1


Objects First with Java

Course Contents
• Introduction to object-oriented
programming…
• …with a strong software engineering
foundation…
• …aimed at producing and maintaining
large, high-quality software systems.

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 3

Buzzwords
responsibility-driven design
inheritance encapsulation
iterators overriding
coupling
cohesion javadoc interface

collection classes mutator methods

polymorphic method calls


Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 4

© David J. Barnes and Michael Kölling 2


Objects First with Java

Goals

• Sound knowledge of programming


principles
• Sound knowledge of object-orientation
• Able to critically assess the quality of
a (small) software system
• Able to implement a small software
system in Java

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 5

Book

David J. Barnes & Michael Kölling


Objects First with Java
A Practical Introduction using BlueJ
4th edition,
Pearson Education, 2008
ISBN 0-13-606086-2.

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 6

© David J. Barnes and Michael Kölling 3


Objects First with Java

Course overview (1)


• Objects and classes
• Understanding class definitions
• Object interaction
• Grouping objects
• More sophisticated behavior - libraries
• Well-behaved objects - testing,
maintaining, debugging
• Designing classes

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 7

Course overview (2)


• Inheritance
• Polymorphism
• Extendable, flexible class structures
• Building graphical user interfaces
• Handling errors
• Designing applications

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 8

© David J. Barnes and Michael Kölling 4


Objects First with Java

Demo

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 9

Fundamental concepts
• object
• class
• method
• parameter
• data type

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 10

© David J. Barnes and Michael Kölling 5


Objects First with Java

Objects and classes


• objects
– represent ‘things’ from the real world,
or from some problem domain (example:
“the red car down there in the car
park”)
• classes
– represent all objects of a kind (example:
“car”)

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 11

Methods and parameters


• Objects have operations which can
be invoked (Java calls them
methods).
• Methods may have parameters to
pass additional information needed
to execute.

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 12

© David J. Barnes and Michael Kölling 6


Objects First with Java

Other observations
• Many instances can be created from a
single class.
• An object has attributes: values
stored in fields.
• The class defines what fields an
object has, but each object stores its
own set of values (the state of the
object).
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 13

State

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 14

© David J. Barnes and Michael Kölling 7


Objects First with Java

Two circle objects

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 15

Source code
• Each class has source code (Java
code) associated with it that defines
its details (fields and methods).

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 16

© David J. Barnes and Michael Kölling 8


Objects First with Java

Return values
• Methods may return a result via a
return value.

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 17

© David J. Barnes and Michael Kölling 9

You might also like