OOP: A rrrrapid review
C / C++ and now … err … Java?
Java: The new kid on the block!
Regular Feature: Some Gyaaan !
What NEXT?
OOP is a relatively „new‟ programming paradigm
Competes with Structured Programming
Avoids REDUNDANCY, provides FLEXIBILITY
Involves lot of jargons
Modularity
Abstraction / Data Encapsulation / Info Hiding
Inheritance
Polymorphism
Procedural Programming: C
C + Classes + … = C++
Main problem: Lack of portability
That‟s primarily what Java builds upon …
Started by Sun Inc. under codename OAK
The Retransformation
HotJava
Built on the WORA paradigm
Stands for Write Once Read Anywhere
Brainchild of James Gosling
Stresses primarily on portability and strict
adherence to specifications
Enters JVM!
It‟s Java‟s own Interpreter
Custom built for different platforms
Just worry about your class file, Java
takes care of the rest!
Java Class File
Java Virtual Machine
Computing Architecture
Header Files (Use import)
Class Definition(s)
main() within the class
Class <class name>
{
//datamembers
<access modifiers> <data type> <variable
name>
//function definitions
<access modifiers> <return type> <function
name> (comma-separated parameter list)
{
body – of – the - function
}
}
Variables/Constants/Arrays
Arithmetic Expressions/Operators
Control Flow Techniques
Pointers/References (???)
Methods
Classes/Objects
…
…
<This is only a glimpse … > !!!
An element that varies
Vary = change
Contrast with CONSTANTS (Rock
steady - do NOT change during
program run)
8 types:
byte, short, int, long,
float, double,
boolean,
char
Rules involving variables, constants,
operators etc.
Always evaluate to a VALUE
Can be used in a helluva innovative ways
Master them and half the battle is one
Sequence
Embedded in the structure
Selection
If ... Else
Switch
Iteration
For
Do... While
While
A small program in itself
Self contained
Input-process-output
Function prototype
Function definition
Arguments/Parameters
Objects as references
Call by Reference/Value
Primitive datatypes – passed by value
Objects – passed by reference
Wrapper classes
Case-sensitive
Class Definitions do NOT end with a “;”
No global variable concept
No standalone main()
No non-boolean value in conditional
statements
No structs, enumerations, unions
No scope unary scope resolution operator
“.” operator
super keyword
Data-types sizes are FIXED, independent
of machine architecture
Multiple inheritance NOT supported
Exception handling typicality
Treatment of ob1 = ob2 statements
No destructors
extends keyword
Be Disciplined
Be Regular
Try and compete in online coding competitions
Practice (Remember it makes a man perfect ...
and works for women as well!)
Reference:
http://java.sun.com/docs/books/tutorial/getS
tarted/index.html
0 comments
Post a comment