CS 1261 OBJECT ORIENTED PROGRAMMING 3 1
0 100
AIM
To present the concept of object oriented programming and discuss briefly the
important elements of object oriented analysis and design of systems.
OBJECTIVES
i. To study the object oriented programming principles, tokens,
expressions, control
structures and functions.
ii. To introduce the classes, objects, constructors and Destructors.
iii. To introduce the operator overloading, inheritance and
polymorphism concepts in C++.
iv. To introduce constants, variables, data types, operators, classes,
objects, methods, arrays and strings in Java.
v. To introduce the programming approach in Java, interfaces and packages,
multithreading, managing errors and exceptions and Applet programming.
1. OBJECT ORIENTED PROGRAMMING AND BASICS OF C++
9
Software crisis – Software evolution – A look at procedure oriented programming
– Object oriented programming paradigm – Basic concepts of object oriented
programming – Benefits of OOP – Object-oriented languages – Applications of
OOP - What is C++? – A simple C++ program – More C++ statements –
Structure of C++ Program.
Tokens – Keywords – Identifiers and constants – Basic data types – User defined
data types – Derived data types – Symbolic constants – Declaration of variables –
Dynamic initialization of variables – Reference variables – Operators in C++ –
Scope resolution operator – Manipulators – Type cast operator – Expressions and
their types – Special assignment expressions – Control structures - The main
function – Function prototyping – Call by reference – Return by reference – Inline
functions – Default arguments – Function overloading.
2. CLASSES AND OBJECTS
9
Specifying a class – Defining member functions – Private member functions –
Arrays within a class – Memory allocation for objects – Static data members –
Static member functions – Arrays of objects – Objects as function arguments –
Friendly functions – Returning objects.
Constructors: Parameterized constructors – Multiple constructors in a class –
Constructors with default arguments – Dynamic initialization of objects – Copy
constructor – Dynamic constructors – Destructors.
3. OPERATOR OVERLOADING, INHERITANCE AND POLYMORPHISM
9
Defining operator overloading: Overloading unary, binary operators.
Manipulation of strings using operators – Rules for overloading operators – Type
Conversions - Defining derived classes – Single inheritance – Multilevel
inheritance – Multiple inheritance – Hierarchical inheritance – Hybrid inheritance
– Virtual base classes – Abstract classes - Introduction to pointers to objects: This
pointer – Pointers to derived classes – Virtual functions – Pure virtual functions.
4. JAVA EVOLUTION, CONSTANTS, VARIABLES, DATA TYPES,
OPERATORS, CLASSES, OBJECTS, METHODS, ARRAYS AND
STRINGS 9
Java features: How Java differs from C and C++ - Simple Java program – Java
program structures – Java tokens – Java statements – Implementing a Java
program – Java virtual machine – Command line arguments - Constants –
Variables – Data types – Scope of variables – Operators in Java.
Defining a class – Adding variables and methods – Creating objects – Accessing
class members – Constructors – Method overloading – Static members –
Inheritance: Extending a class – Overriding methods – Final variables and
methods – Final classes – Abstract methods and classes – Visibility control -
Arrays – One dimensional array – Creating an array – Two-dimensional arrays –
Strings – Vectors.
5. PROGRAMMING USING INTERFACES, PACKAGES,
MULTITHREADING, MANAGING ERRORS AND EXCEPTIONS AND
APPLETS 9
Defining interfaces – Extending interfaces – Implementing interfaces – Accessing
interface variables – Java API packages – Using system packages – Creating,
accessing and using a package – Adding a class to a package - Creating threads –
Extending the thread class – Stopping and blocking a thread – Thread exceptions
– Thread priority – Synchronization – Life cycle of a thread – Using thread
methods.
Types of errors: Exceptions – Syntax of exception handling code – Multiple catch
statements – Using finally statements – Throwing our own exceptions – Using
exceptions for debugging. Preparing to write applets – Applet lifecycle – Creating
an executable applet – Designing a web page – Applet tag – Adding applet to
HTML file – Running the Applet.