Upload
pramod-srinivasan
View
218
Download
0
Embed Size (px)
Citation preview
7/30/2019 CoreJava_Lec02
1/12
Core Java
2. Basics of Object-Oriented Programming
7/30/2019 CoreJava_Lec02
2/12
2
Procedural Programming
Simple Structure
A program to add 2 numbers, written in C
Functions can provide in-code reusability
Software are programs which are products
Not very great for large pieces of software
Key issue: maintainability
7/30/2019 CoreJava_Lec02
3/12
3
Modular Programming
More Complex Structure
Allegro Game Programming Library, YasmModular Assembler, Winamp, Linux Kernel
Application Binary Interfaces providesreusability and extensibility
In-source or Runtime
Key issue: Typing, Boilerplate Code
7/30/2019 CoreJava_Lec02
4/12
4
Object-Oriented Programming
Everything is an object
Make references to the real world
Each Object has a lifetime
A program is a set of objects which passmessages between each other and keepchanging during their lifetime
The analogy is life: living beings interactingwith each other, changing states
7/30/2019 CoreJava_Lec02
5/12
5
Properties of Objects
Objects have attributes: Animals havehearts, brains, ears
Objects have behaviors: Human beings
walk, think, talk Objects with similar behaviors can be
grouped together
A tall man is a man, A short man is a man
7/30/2019 CoreJava_Lec02
6/12
6
Inheritance
Objects with similar behaviors can befurther grouped together
A man is an animal, A cow is an animal
An animal is a living being, A plant is aliving being
This is often referred to as inheritance
7/30/2019 CoreJava_Lec02
7/12
7
Encapsulation
An animal is a group of animal cells
A switchbox is a set of switches, wires,fuses, regulators, LEDs
A capsule contains tiny bits of medicines init
This abstraction of objects is often referred
to as encapsulation An object can contain objects: Composites
7/30/2019 CoreJava_Lec02
8/12
8
Polymorphism
For a particular behavior, an object caninteract differently with different objects
Analogy of a man talking to an instructor
and colleagues A very useful feature which allows a variety
of behaviors to be grouped into one
7/30/2019 CoreJava_Lec02
9/12
9
Okay, So What Now?
When we write code in Java, we writeobjects
We write objects with coherent, cohesive
functionality Each object should ideally do only a few
things
Keep it simple
7/30/2019 CoreJava_Lec02
10/12
10
Examples of Objects
Main Program: HelloWorld,sun.tools.javac.Main
Processors:java.lang.Thread
Entities: Student, Manager,Juice
Virtual Entities: Account,java.util.Date
Collections of Entities:java.util.ArrayList,javax.swing.JPanel
Meta-Objects:java.lang.Class,java.lang.Interface
7/30/2019 CoreJava_Lec02
11/12
11
Classes
Classes are ways to logically group a set ofObjects
Objects can be thought of as instances of
Classes I am an instance of man and You are too!
Sometimes, classes need not have
instances, or a shared instance Our HelloWorldProgram is such an
example
7/30/2019 CoreJava_Lec02
12/12
12
Questions?